RtmClientListener
onConnectionStateChanged
{
    "rtmEvent":"onConnectionStateChanged",
    "state":0,
    "reason":0
}
SDK 与 RTM 系统的连接状态发生改变回调。
| 参数 | 描述 | 
|---|---|
| state | 新连接状态。详见Android的 ConnectionState。 | 
| reason | 连接状态改变原因。详见Android的 ConnectionChangeReason。 | 
onPeerMessageReceived
{
    "rtmEvent":"onPeerMessageReceived",
    "serverReceivedTs":0,
    "text":"message",
    "OfflineMessage":0,
    "messageType":0,
    "peerId":"123"
}
收到点对点消息回调。
| 参数 | 描述 | |
|---|---|---|
| int | serverReceivedTs | 消息服务器接收到消息的时间戳(毫秒)。 | 
| String | text | 接收到的文本消息征文或自定义二进制消息的二进制文字描述。 | 
| int | OfflineMessage | 供消息接收者检查消息是否在服务端被保存过(仅用于点对点消息): true: 被保存过(消息服务器保存了该条消息且在对端重新上线后重新发送成功)。 false: 未被保存过。 | 
| int | messageType | 消息类型 | 
| String | peerId | 消息发送者的用户 ID。 | 
onPeersOnlineStatusChanged
{
    "rtmEvent":"onPeersOnlineStatusChanged",
    "peersStatus":[{"peerId":"123","state":0}]
}
被订阅用户在线状态改变回调。
- 首次订阅在线状态成功时,SDK 也会返回本回调,显示所有被订阅用户的在线状态。
- 每当被订阅用户的在线状态发生改变,SDK 都会通过该回调通知订阅方。
- 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过该回调通知订阅方。
| 参数 | 描述 | |
|---|---|---|
| Array | peersStatus | 用户在线状态列表: peerId:表示用户ID state:用户状态: 0:用户在线。1:连接状态不稳定(服务器连续 6 秒未收到来自 SDK 的数据包)。2:用户不在线(用户未登录或已登出 RTM 系统,或服务器连续 30 秒未收到来自 SDK 的数据包)。 | 
RtmChannelListener
onAttributesUpdated
{
    "rtmEvent":"onAttributesUpdated", 
    "attributeList":[{"key":"value"}]
}
频道属性更新回调。返回所在频道的所有属性。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | attributeList | 当前频道的所有属性。以 key:value形式传递所有属性。 | 
onMemberCountUpdated
{
    "rtmEvent":"onMemberCountUpdated",
    "memberCount": 0
}
频道成员人数更新回调。返回最新频道成员人数。
注解
SDK 会在频道成员人数更新时返回该回调:
- 频道成员人数 ≤ 512 时,最高触发频率为每秒 1 次。
- 频道成员人数超过 512 时,最高触发频率为每 3 秒 1 次。
- 用户在成功加入频道时会收到该回调。你可以通过监听该回调获取加入频道时的频道成员人数和后继人数更新。
| 参数 | 描述 | 
|---|---|
| memberCount | 最新频道成员人数。 | 
onMemberJoined
{
    "rtmEvent":"onMemberJoined",
    "userId": "123",
    "channelId": "909090"
}
远端用户加入频道回调。
当有远端用户调用 join 方法成功加入频道时,在相同频道的本地用户会收到此回调。
注解
当频道成员超过 512 时,该回调失效。
| 参数 | 描述 | |
|---|---|---|
| String | userId | 获取频道成员的用户 ID。 | 
| String | channelId | 获取频道用户所在频道的 ID。 | 
onMemberLeft
{
    "rtmEvent":"onMemberLeft",
    "userId": "123",
    "channelId": "909090"
}
当有频道成员调用 leave 方法成功离开频道时,在相同频道的本地用户会收到此回调。
注解
当频道成员超过 512 时,该回调失效。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | userId | 获取频道成员的用户 ID。 | 
| String | channelId | 获取频道用户所在频道的 ID。 | 
onChannelMessageReceived
{
    "rtmEvent":"onChannelMessageReceived",
    "type":0,
    "text":"message",
    "serverReceivedTs":0,
    "isOfflineMessage":true, 
    "userId": "123",
    "channelId": "909090"
}
收到频道消息回调。
当远端用户调用 sendChannelMessage 方法成功发送频道消息后,在相同频道的本地用户会收到此回调。
| 类型 | 参数 | 描述 | 
|---|---|---|
| int | type | 获取消息类型: 0:消息类型未定义。1:文本消息。2:自定义二进制消息。3:文件消息。大小不得超过 32 KB。4:图片消息。大小不得超过 32 KB。 | 
| String | text | 接收到的文本消息征文或自定义二进制消息的二进制文字描述。 | 
| int | serverReceivedTs | |
| Boolean | isOfflineMessage | 供消息接收者检查消息是否在服务端被保存过(仅用于点对点消息)。 true: 被保存过(消息服务器保存了该条消息且在对端重新上线后重新发送成功)。 false: 未被保存过。 | 
| String | userId | 获取频道成员的用户 ID。 | 
| String | channelId | 获取频道成员所在频道的 ID。 | 
RtmCallEventListener
onLocalInvitationAccepted
{
    "rtmEvent":"onLocalInvitationAccepted",
    "calleeId": "123",
    "content": "",
    "channelId": "909090",
    "state": 0,
    "getResponse": "",
    "response": ""
}
返回给主叫:被叫已接受呼叫邀请。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 获取被叫的用户 ID。 | 
| String | content | 供主叫获取自己设置的呼叫邀请内容。 | 
| String | channelId | 供主叫获取频道 ID。 | 
| int | state | 获得呼叫邀请的状态: 0:返回给主叫的呼叫邀请状态码:初始状态。1:仅供内部使用2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | getResponse | 供主叫获取被叫设置的响应内容。 | 
| String | response | 响应内容 | 
onLocalInvitationCanceled
{
    "rtmEvent":"onLocalInvitationCanceled",
    "calleeId":"123",
    "content": "",
    "channelId":"909090",
    "state": 0,
    "getResponse": ""
}
返回给主叫:呼叫邀请已被取消。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 获取被叫的用户 ID。 | 
| String | content | 供主叫获取自己设置的呼叫邀请内容。 | 
| String | channelId | 供主叫获取频道 ID。 | 
| int | state | 获得呼叫邀请的状态: 0:返回给主叫的呼叫邀请状态码:初始状态。1:仅供内部使用2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | getResponse | 供主叫获取被叫设置的响应内容。 | 
onLocalInvitationFailure
{
    "rtmEvent":"onLocalInvitationFailure",
    "calleeId": "123",
    "content": "",
    "channelId":"909090",
    "state": 0,
    "getResponse": "",
    "errorCode": 0
}
返回给主叫:呼叫邀请进程失败。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 获取被叫的用户 ID。 | 
| String | content | 供主叫获取自己设置的呼叫邀请内容。 | 
| String | channelId | 供主叫获取频道 ID。 | 
| int | state | 获得呼叫邀请的状态: 0:返回给主叫的呼叫邀请状态码:初始状态。1:仅供内部使用2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | getResponse | 供主叫获取被叫设置的响应内容。 | 
| int | errorCode | 错误码: 0:返回给主叫的呼叫邀请错误码:呼叫邀请成功。1:返回给主叫的呼叫邀请错误码:被叫不在线。SDK 会在被叫不在线时不断重发呼叫邀请。若消息发送 30 秒后被叫仍未上线,SDK 会返回此错误码。2:返回给主叫的呼叫邀请错误码:呼叫邀请发出 30 秒后被叫仍未 ACK 响应呼叫邀请。3:返回给主叫的呼叫邀请错误码:呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。4:返回给主叫的呼叫邀请错误码:主叫未登录。 | 
onLocalInvitationReceivedByPeer
{
    "rtmEvent":"onLocalInvitationReceivedByPeer", 
    "calleeId": "123",
    "content": "",
    "channelId": "909090",
    "state":0,
    "getResponse": ""
}
返回给主叫:被叫已收到呼叫邀请。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 获取被叫的用户 ID。 | 
| String | content | 供主叫获取自己设置的呼叫邀请内容。 | 
| String | channelId | 供主叫获取频道 ID。 | 
| int | state | 获得呼叫邀请的状态: 0:返回给主叫的呼叫邀请状态码:初始状态。1:仅供内部使用2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | getResponse | 供主叫获取被叫设置的响应内容。 | 
onLocalInvitationRefused
{
    "rtmEvent":"onLocalInvitationRefused",
    "calleeId":"123", 
    "content":"",
    "channelId":"909090",
    "state": 0,
    "getResponse": "",
    "response": ""
}
返回给主叫:被叫已拒绝呼叫邀请。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 获取被叫的用户 ID。 | 
| String | content | 供主叫获取自己设置的呼叫邀请内容。 | 
| String | channelId | 供主叫获取频道 ID。 | 
| int | state | 获得呼叫邀请的状态: 0:返回给主叫的呼叫邀请状态码:初始状态。1:仅供内部使用2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | getResponse | 供主叫获取被叫设置的响应内容。 | 
| String | response | 响应内容 | 
onRemoteInvitationAccepted
{
    "rtmEvent":"onRemoteInvitationAccepted",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state": 0,
    "response": ""
}
返回给被叫:接受呼叫邀请成功。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | callerId | 供被叫获取主叫的用户 ID。 | 
| String | content | 供被叫获取主叫设置的邀请内容。 | 
| String | channelId | 供被叫获取频道 ID。 | 
| int | state | 供被叫获得呼叫邀请的状态: 0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。2:仅供内部使用。3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | response | 供被叫获取自己设置的响应内容。 | 
onRemoteInvitationCanceled
{
    "rtmEvent":"onRemoteInvitationCanceled",
    "callerId": "123", 
    "content": "",
    "channelId":"909090",
    "state": 0
}
返回给被叫:主叫已取消呼叫邀请。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | callerId | 供被叫获取主叫的用户 ID。 | 
| String | content | 供被叫获取主叫设置的邀请内容。 | 
| String | channelId | 供被叫获取频道 ID。 | 
| int | state | 供被叫获得呼叫邀请的状态: 0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。2:仅供内部使用。3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | response | 供被叫获取自己设置的响应内容。 | 
onRemoteInvitationFailure
{
    "rtmEvent":"onRemoteInvitationFailure",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state":0,
    "response": "",
    "errorCode":0
}
返回给被叫:来自主叫的呼叫邀请进程失败。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | callerId | 供被叫获取主叫的用户 ID。 | 
| String | content | 供被叫获取主叫设置的邀请内容。 | 
| String | channelId | 供被叫获取频道 ID。 | 
| int | state | 供被叫获得呼叫邀请的状态: 0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。2:仅供内部使用。3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | response | 供被叫获取自己设置的响应内容。 | 
| int | errorCode | 错误码: 0:返回给被叫的呼叫邀请错误码:呼叫邀请成功。1:返回给被叫的呼叫邀请错误码:被叫不在线,呼叫邀请失败。2:返回给被叫的呼叫邀请错误码:被叫接受呼叫邀请后未收到主叫的 ACK 响应导致呼叫邀请失败,一般由于网络中断造成。3:返回给被叫的呼叫邀请错误码:呼叫邀请过期。 | 
onRemoteInvitationReceived
{
    "rtmEvent":"onRemoteInvitationReceived",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state": 0,
    "response": ""
}
返回给被叫:收到一个呼叫邀请。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | callerId | 供被叫获取主叫的用户 ID。 | 
| String | content | 供被叫获取主叫设置的邀请内容。 | 
| String | channelId | 供被叫获取频道 ID。 | 
| int | state | 供被叫获得呼叫邀请的状态: 0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。2:仅供内部使用。3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | response | 供被叫获取自己设置的响应内容。 | 
onRemoteInvitationRefused
{
    "rtmEvent":"onRemoteInvitationRefused",
    "callerId":"123",
    "content": "",
    "channelId":"909090",
    "state":0,
    "response": ""
}
返回给被叫:拒绝呼叫邀请成功。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | callerId | 供被叫获取主叫的用户 ID。 | 
| String | content | 供被叫获取主叫设置的邀请内容。 | 
| String | channelId | 供被叫获取频道 ID。 | 
| int | state | 供被叫获得呼叫邀请的状态: 0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。2:仅供内部使用。3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 | 
| String | response | 供被叫获取自己设置的响应内容。 | 

