uni-app Rtm 事件回调

最近更新时间:2022-09-20 05:17:40

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"
}

收到点对点消息回调。

参数描述
intserverReceivedTs消息服务器接收到消息的时间戳(毫秒)。
Stringtext接收到的文本消息征文或自定义二进制消息的二进制文字描述。
intOfflineMessage供消息接收者检查消息是否在服务端被保存过(仅用于点对点消息):
true: 被保存过(消息服务器保存了该条消息且在对端重新上线后重新发送成功)。
false: 未被保存过。
intmessageType消息类型
StringpeerId消息发送者的用户 ID。

onPeersOnlineStatusChanged

{
    "rtmEvent":"onPeersOnlineStatusChanged",
    "peersStatus":[{"peerId":"123","state":0}]
}

被订阅用户在线状态改变回调。

  • 首次订阅在线状态成功时,SDK 也会返回本回调,显示所有被订阅用户的在线状态。
  • 每当被订阅用户的在线状态发生改变,SDK 都会通过该回调通知订阅方。
  • 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过该回调通知订阅方。
参数描述
ArraypeersStatus用户在线状态列表:
peerId:表示用户ID
state:用户状态:
0:用户在线。
1:连接状态不稳定(服务器连续 6 秒未收到来自 SDK 的数据包)。
2:用户不在线(用户未登录或已登出 RTM 系统,或服务器连续 30 秒未收到来自 SDK 的数据包)。

RtmChannelListener

onAttributesUpdated

{
    "rtmEvent":"onAttributesUpdated", 
    "attributeList":[{"key":"value"}]
}

频道属性更新回调。返回所在频道的所有属性。

类型参数描述
ArrayattributeList当前频道的所有属性。以key:value形式传递所有属性。

onMemberCountUpdated

{
    "rtmEvent":"onMemberCountUpdated",
    "memberCount": 0
}

频道成员人数更新回调。返回最新频道成员人数。

注解

SDK 会在频道成员人数更新时返回该回调:

  • 频道成员人数 ≤ 512 时,最高触发频率为每秒 1 次。
  • 频道成员人数超过 512 时,最高触发频率为每 3 秒 1 次。
  • 用户在成功加入频道时会收到该回调。你可以通过监听该回调获取加入频道时的频道成员人数和后继人数更新。
参数描述
memberCount最新频道成员人数。

onMemberJoined

{
    "rtmEvent":"onMemberJoined",
    "userId": "123",
    "channelId": "909090"
}

远端用户加入频道回调。

当有远端用户调用 join 方法成功加入频道时,在相同频道的本地用户会收到此回调。

注解

当频道成员超过 512 时,该回调失效。

参数描述
StringuserId获取频道成员的用户 ID。
StringchannelId获取频道用户所在频道的 ID。

onMemberLeft

{
    "rtmEvent":"onMemberLeft",
    "userId": "123",
    "channelId": "909090"
}

当有频道成员调用 leave 方法成功离开频道时,在相同频道的本地用户会收到此回调。

注解

当频道成员超过 512 时,该回调失效。

类型参数描述
StringuserId获取频道成员的用户 ID。
StringchannelId获取频道用户所在频道的 ID。

onChannelMessageReceived

{
    "rtmEvent":"onChannelMessageReceived",
    "type":0,
    "text":"message",
    "serverReceivedTs":0,
    "isOfflineMessage":true, 
    "userId": "123",
    "channelId": "909090"
}

收到频道消息回调。

当远端用户调用 sendChannelMessage 方法成功发送频道消息后,在相同频道的本地用户会收到此回调。

类型参数描述
inttype获取消息类型:
0:消息类型未定义。
1:文本消息。
2:自定义二进制消息。
3:文件消息。大小不得超过 32 KB。
4:图片消息。大小不得超过 32 KB。
Stringtext接收到的文本消息征文或自定义二进制消息的二进制文字描述。
intserverReceivedTs
BooleanisOfflineMessage供消息接收者检查消息是否在服务端被保存过(仅用于点对点消息)。
true: 被保存过(消息服务器保存了该条消息且在对端重新上线后重新发送成功)。
false: 未被保存过。
StringuserId获取频道成员的用户 ID。
StringchannelId获取频道成员所在频道的 ID。

RtmCallEventListener

onLocalInvitationAccepted

{
    "rtmEvent":"onLocalInvitationAccepted",
    "calleeId": "123",
    "content": "",
    "channelId": "909090",
    "state": 0,
    "getResponse": "",
    "response": ""
}

返回给主叫:被叫已接受呼叫邀请。

类型参数描述
StringcalleeId获取被叫的用户 ID。
Stringcontent供主叫获取自己设置的呼叫邀请内容。
StringchannelId供主叫获取频道 ID。
intstate获得呼叫邀请的状态:
0:返回给主叫的呼叫邀请状态码:初始状态。
1:仅供内部使用
2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。
3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。
4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。
5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。
6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。
StringgetResponse供主叫获取被叫设置的响应内容。
Stringresponse响应内容

onLocalInvitationCanceled

{
    "rtmEvent":"onLocalInvitationCanceled",
    "calleeId":"123",
    "content": "",
    "channelId":"909090",
    "state": 0,
    "getResponse": ""
}

返回给主叫:呼叫邀请已被取消。

类型参数描述
StringcalleeId获取被叫的用户 ID。
Stringcontent供主叫获取自己设置的呼叫邀请内容。
StringchannelId供主叫获取频道 ID。
intstate获得呼叫邀请的状态:
0:返回给主叫的呼叫邀请状态码:初始状态。
1:仅供内部使用
2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。
3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。
4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。
5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。
6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。
StringgetResponse供主叫获取被叫设置的响应内容。

onLocalInvitationFailure

{
    "rtmEvent":"onLocalInvitationFailure",
    "calleeId": "123",
    "content": "",
    "channelId":"909090",
    "state": 0,
    "getResponse": "",
    "errorCode": 0
}

返回给主叫:呼叫邀请进程失败。

类型参数描述
StringcalleeId获取被叫的用户 ID。
Stringcontent供主叫获取自己设置的呼叫邀请内容。
StringchannelId供主叫获取频道 ID。
intstate获得呼叫邀请的状态:
0:返回给主叫的呼叫邀请状态码:初始状态。
1:仅供内部使用
2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。
3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。
4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。
5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。
6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。
StringgetResponse供主叫获取被叫设置的响应内容。
interrorCode错误码:
0:返回给主叫的呼叫邀请错误码:呼叫邀请成功。
1:返回给主叫的呼叫邀请错误码:被叫不在线。SDK 会在被叫不在线时不断重发呼叫邀请。若消息发送 30 秒后被叫仍未上线,SDK 会返回此错误码。
2:返回给主叫的呼叫邀请错误码:呼叫邀请发出 30 秒后被叫仍未 ACK 响应呼叫邀请。
3:返回给主叫的呼叫邀请错误码:呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。
4:返回给主叫的呼叫邀请错误码:主叫未登录。

onLocalInvitationReceivedByPeer

{
    "rtmEvent":"onLocalInvitationReceivedByPeer", 
    "calleeId": "123",
    "content": "",
    "channelId": "909090",
    "state":0,
    "getResponse": ""
}

返回给主叫:被叫已收到呼叫邀请。

类型参数描述
StringcalleeId获取被叫的用户 ID。
Stringcontent供主叫获取自己设置的呼叫邀请内容。
StringchannelId供主叫获取频道 ID。
intstate获得呼叫邀请的状态:
0:返回给主叫的呼叫邀请状态码:初始状态。
1:仅供内部使用
2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。
3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。
4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。
5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。
6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。
StringgetResponse供主叫获取被叫设置的响应内容。

onLocalInvitationRefused

{
    "rtmEvent":"onLocalInvitationRefused",
    "calleeId":"123", 
    "content":"",
    "channelId":"909090",
    "state": 0,
    "getResponse": "",
    "response": ""
}

返回给主叫:被叫已拒绝呼叫邀请。

类型参数描述
StringcalleeId获取被叫的用户 ID。
Stringcontent供主叫获取自己设置的呼叫邀请内容。
StringchannelId供主叫获取频道 ID。
intstate获得呼叫邀请的状态:
0:返回给主叫的呼叫邀请状态码:初始状态。
1:仅供内部使用
2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。
3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。
4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。
5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。
6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。
StringgetResponse供主叫获取被叫设置的响应内容。
Stringresponse响应内容

onRemoteInvitationAccepted

{
    "rtmEvent":"onRemoteInvitationAccepted",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state": 0,
    "response": ""
}

返回给被叫:接受呼叫邀请成功。

类型参数描述
StringcallerId供被叫获取主叫的用户 ID。
Stringcontent供被叫获取主叫设置的邀请内容。
StringchannelId供被叫获取频道 ID。
intstate供被叫获得呼叫邀请的状态:
0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。
1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。
2:仅供内部使用。
3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。
4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。
5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。
6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。
Stringresponse供被叫获取自己设置的响应内容。

onRemoteInvitationCanceled

{
    "rtmEvent":"onRemoteInvitationCanceled",
    "callerId": "123", 
    "content": "",
    "channelId":"909090",
    "state": 0
}

返回给被叫:主叫已取消呼叫邀请。

类型参数描述
StringcallerId供被叫获取主叫的用户 ID。
Stringcontent供被叫获取主叫设置的邀请内容。
StringchannelId供被叫获取频道 ID。
intstate供被叫获得呼叫邀请的状态:
0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。
1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。
2:仅供内部使用。
3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。
4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。
5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。
6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。
Stringresponse供被叫获取自己设置的响应内容。

onRemoteInvitationFailure

{
    "rtmEvent":"onRemoteInvitationFailure",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state":0,
    "response": "",
    "errorCode":0
}

返回给被叫:来自主叫的呼叫邀请进程失败。

类型参数描述
StringcallerId供被叫获取主叫的用户 ID。
Stringcontent供被叫获取主叫设置的邀请内容。
StringchannelId供被叫获取频道 ID。
intstate供被叫获得呼叫邀请的状态:
0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。
1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。
2:仅供内部使用。
3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。
4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。
5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。
6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。
Stringresponse供被叫获取自己设置的响应内容。
interrorCode错误码:
0:返回给被叫的呼叫邀请错误码:呼叫邀请成功。
1:返回给被叫的呼叫邀请错误码:被叫不在线,呼叫邀请失败。
2:返回给被叫的呼叫邀请错误码:被叫接受呼叫邀请后未收到主叫的 ACK 响应导致呼叫邀请失败,一般由于网络中断造成。
3:返回给被叫的呼叫邀请错误码:呼叫邀请过期。

onRemoteInvitationReceived

{
    "rtmEvent":"onRemoteInvitationReceived",
    "callerId":"123",
    "content":"",
    "channelId":"909090",
    "state": 0,
    "response": ""
}

返回给被叫:收到一个呼叫邀请。

类型参数描述
StringcallerId供被叫获取主叫的用户 ID。
Stringcontent供被叫获取主叫设置的邀请内容。
StringchannelId供被叫获取频道 ID。
intstate供被叫获得呼叫邀请的状态:
0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。
1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。
2:仅供内部使用。
3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。
4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。
5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。
6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。
Stringresponse供被叫获取自己设置的响应内容。

onRemoteInvitationRefused

{
    "rtmEvent":"onRemoteInvitationRefused",
    "callerId":"123",
    "content": "",
    "channelId":"909090",
    "state":0,
    "response": ""
}

返回给被叫:拒绝呼叫邀请成功。

类型参数描述
StringcallerId供被叫获取主叫的用户 ID。
Stringcontent供被叫获取主叫设置的邀请内容。
StringchannelId供被叫获取频道 ID。
intstate供被叫获得呼叫邀请的状态:
0:返回给被叫的呼叫邀请状态码:被叫发出的邀请的初始状态。
1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。
2:仅供内部使用。
3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。
4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。
5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。
6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。
Stringresponse供被叫获取自己设置的响应内容。