| Public 成员函数 | |
|---|---|
| virtual | ~IRtmServiceEventHandler () | 
| virtual void | onLoginSuccess () | 
| virtual void | onLoginFailure (LOGIN_ERR_CODE errorCode) | 
| virtual void | onRenewTokenResult (const char *token, RENEW_TOKEN_ERR_CODE errorCode) | 
| virtual void | onTokenWillExpire () | 
| virtual void | onTokenExpired () | 
| virtual void | onLogout (LOGOUT_ERR_CODE errorCode) | 
| virtual void | onConnectionStateChanged (CONNECTION_STATE state, CONNECTION_CHANGE_REASON reason) | 
| virtual void | onSendMessageResult (long long messageId, PEER_MESSAGE_ERR_CODE errorCode) | 
| virtual void | onMessageReceivedFromPeer (const char *peerId, const IMessage *message) | 
| virtual void | onQueryPeersOnlineStatusResult (long long requestId, const PeerOnlineStatus *peersStatus, int peerCount, QUERY_PEERS_ONLINE_STATUS_ERR errorCode) | 
| virtual void | onSubscriptionRequestResult (long long requestId, PEER_SUBSCRIPTION_STATUS_ERR errorCode) | 
| virtual void | onQueryPeersBySubscriptionOptionResult (long long requestId, const char *peerIds[], int peerCount, QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR errorCode) | 
| virtual void | onPeersOnlineStatusChanged (const PeerOnlineStatus peersStatus[], int peerCount) | 
| virtual void | onSetLocalUserAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onAddOrUpdateLocalUserAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onDeleteLocalUserAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onClearLocalUserAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onGetUserAttributesResult (long long requestId, const char *userId, const RtmAttribute *attributes, int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onSetChannelAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onAddOrUpdateChannelAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onDeleteChannelAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onClearChannelAttributesResult (long long requestId, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onGetChannelAttributesResult (long long requestId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode) | 
| virtual void | onGetChannelMemberCountResult (long long requestId, const ChannelMemberCount *channelMemberCounts, int channelCount, GET_CHANNEL_MEMBER_COUNT_ERR_CODE errorCode) | 
构造及析构函数说明
~IRtmServiceEventHandler
virtual ~IRtmServiceEventHandler()
成员函数说明
onAddOrUpdateChannelAttributesResult
virtual void onAddOrUpdateChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 addOrUpdateChannelAttributes 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onAddOrUpdateLocalUserAttributesResult
virtual void onAddOrUpdateLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 addOrUpdateLocalUserAttributes 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onClearChannelAttributesResult
virtual void onClearChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 clearChannelAttributes 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onClearLocalUserAttributesResult
virtual void onClearLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 clearLocalUserAttributes 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onConnectionStateChanged
virtual void onConnectionStateChanged(CONNECTION_STATE state, CONNECTION_CHANGE_REASON reason)
SDK 与 anyRTC RTM 系统的连接状态发生改变回调。
参数
| 参数 | 说明 | 
|---|---|
| state | 新连接状态。详见 CONNECTION_STATE。 | 
| reason | 连接状态改变原因。详见 CONNECTION_CHANGE_REASON。 | 
onDeleteChannelAttributesResult
virtual void onConnectionStateChanged(CONNECTION_STATE state, CONNECTION_CHANGE_REASON reason)
报告 deleteChannelAttributesByKeys 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onDeleteLocalUserAttributesResult
virtual void onDeleteLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 deleteLocalUserAttributesByKeys 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onGetChannelAttributesResult
virtual void onGetChannelAttributesResult(long long requestId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
报告 getChannelAttributes 或 getChannelAttributesByKeys 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| attributes | 频道属性数组。 | 
| numberOfAttributes | 频道属性的条数。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onGetChannelMemberCountResult
virtual void onGetChannelMemberCountResult(long long requestId, const ChannelMemberCount* channelMemberCounts , int channelCount, GET_CHANNEL_MEMBER_COUNT_ERR_CODE errorCode)
报告 getChannelMemberCount 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| channelMemberCounts | 频道成员人数数组。 | 
| channelCount | 频道数量。 | 
| errorCode | 错误码。详见 GET_CHANNEL_MEMBER_COUNT_ERR_CODE 。 | 
onGetUserAttributesResult
virtual void onGetUserAttributesResult(long long requestId, const char* userId, const RtmAttribute* attributes, int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
报告 getUserAttributes 或 getUserAttributesByKeys 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| userId | 指定用户的用户 ID。 | 
| attributes | 返回的属性数组。详见 RtmAttribute。 | 
| numberOfAttributes | 用户属性数组的长度。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onLoginFailure
virtual void onLoginFailure(LOGIN_ERR_CODE errorCode)
登录 anyRTC RTM 系统失败回调。
当 login 方法调用失败时,本地用户会收到此回调。 错误码详见 LOGIN_ERR_CODE。
onLoginSuccess
virtual void onLoginSuccess()
登录 anyRTC RTM 系统成功回调。
当用户调用 login 方法成功加入频道时,本地用户会收到此回调。
onLogout
virtual void onLogout(LOGOUT_ERR_CODE errorCode)
登出 anyRTC RTM 服务回调。
当 SDK 调用 logout 方法时,本地用户会收到此回调。 有关状态,详见 LOGOUT_ERR_CODE。
onMessageReceivedFromPeer
virtual void onMessageReceivedFromPeer(const char *peerId, const IMessage *message)
收到点对点消息回调。
参数
| 参数 | 说明 | 
|---|---|
| peerId | 发送该消息的对端用户 ID。 | 
| message | 接收到的消息。 详见 IMessage。 | 
onPeersOnlineStatusChanged
virtual void onPeersOnlineStatusChanged(const PeerOnlineStatus peersStatus[], int peerCount)
被订阅用户在线状态改变回调。
- 首次订阅在线状态成功时,SDK 也会返回本回调,显示所有被订阅用户的在线状态。
- 每当被订阅用户的在线状态发生改变,SDK 都会通过该回调通知订阅方。
- 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过该回调通知订阅方。
参数
| 参数 | 说明 | 
|---|---|
| peersStatus | 用户在线状态列表。详见 PeerOnlineStatus。 | 
| peerCount | 在线状态发生变化的被订阅用户人数. | 
onQueryPeersBySubscriptionOptionResult
virtual void onQueryPeersBySubscriptionOptionResult(long long requestId, const char* peerIds[], int peerCount, QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR errorCode)
报告 queryPeersBySubscriptionOption 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| peerIds | 某订阅类型被订阅的用户列表。 | 
| peerCount | 某订阅类型被订阅的用户人数。 | 
| errorCode | 错误码。详见 QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR 。 | 
onQueryPeersOnlineStatusResult
virtual void onQueryPeersOnlineStatusResult(long long requestId, const PeerOnlineStatus* peersStatus, int peerCount, QUERY_PEERS_ONLINE_STATUS_ERR errorCode)
报告 queryPeersOnlineStatus 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| peerIds | 某订阅类型被订阅的用户列表。 | 
| peerCount | 某订阅类型被订阅的用户人数。 | 
| errorCode | 错误码。详见 QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR 。 | 
onRenewTokenResult
virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERR_CODE errorCode)
报告 renewToken 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| token | 新的 Token | 
| errorCode | 错误码。详见 RENEW_TOKEN_ERR_CODE。 | 
onSendMessageResult
virtual void onSendMessageResult(long long messageId, PEER_MESSAGE_ERR_CODE errorCode)
报告 sendMessageToPeer 或 sendMessageToPeer 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| messageId | 点对点消息的 ID。 | 
| errorCode | 错误码。详见 PEER_MESSAGE_ERR_CODE。 | 
onSetChannelAttributesResult
virtual void onSetChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 setChannelAttributes 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onSetLocalUserAttributesResult
virtual void onSetLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
报告 setLocalUserAttributes 方法的调用结果
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 ATTRIBUTE_OPERATION_ERR 。 | 
onSubscriptionRequestResult
virtual void onSubscriptionRequestResult(long long requestId, PEER_SUBSCRIPTION_STATUS_ERR errorCode)
报告 subscribePeersOnlineStatus 或 unsubscribePeersOnlineStatus 方法的调用结果。
参数
| 参数 | 说明 | 
|---|---|
| requestId | 标识本次请求的的唯一 ID。 | 
| errorCode | 错误码。详见 PEER_SUBSCRIPTION_STATUS_ERR 。 | 
onTokenWillExpired
virtual void onTokenWillExpired()
在使用RTM过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token
收到该回调时,请尽快在你的业务服务端生成新的 Token,然后调用login重新登录。
onTokenExpired
virtual void onTokenExpired()
(SDK 断线重连时触发)当前使用的 RTM Token 已超过 24 小时的签发有效期
- SDK 触发该回调提醒 App 当前 Token 即将过期,应即时获取新 Token。收到该回调后,你需要在服务端生成新 Token 并调用 renewToken 方法将该 Token 传给 SDK。
- 如果调用 login 方法登录时传入的 Token 直至过期仍未更新,SDK 会断开连接,用户将下线。

