概览
ARtmDelegate 接口类向 App 发送回调通知,上报运行时的事件。
connectionStateChanged
- (void)rtmKit:(ARtmKit * _Nonnull)kit connectionStateChanged:(ARtmConnectionState)state reason:(ARtmConnectionChangeReason)reason;
连接状态改变回调
messageReceived
- (void)rtmKit:(ARtmKit * _Nonnull)kit messageReceived:(ARtmMessage * _Nonnull)message fromPeer:(NSString * _Nonnull)peerId;
连接状态改变回调
参数 | 描述 |
---|
kit | ARtmKit 实例。 |
message | 收到的消息内容。 |
peerId | 消息发送者的用户 ID。 |
peersOnlineStatusChanged
- (void)rtmKit:(ARtmKit * _Nonnull)kit peersOnlineStatusChanged:(NSArray< ARtmPeerOnlineStatus *> * _Nonnull)onlineStatus;
被订阅用户在线状态改变回调
- 首次订阅在线状态成功时,SDK 也会返回本回调,显示所有被订阅用户的在线状态。
- 每当被订阅用户的在线状态发生改变,SDK 都会通过该回调通知订阅方。
- 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过该回调通知订阅方。
rtmKitTokenDidExpire
- (void)rtmKitTokenDidExpire:(ARtmKit * _Nonnull)kit;
(SDK 断线重连时触发)当前使用的 RTM Token 已超过 24 小时的签发有效期。
收到该回调时,请尽快在你的业务服务端生成新的 Token,然后调用loginByToken重新登录。
rtmKitTokenPrivilegeWillExpire
- (void)rtmKitTokenPrivilegeWillExpire:(ARtmKit *_Nonnull)kit;
当前使用的 RTM Token 还有 30 秒过期。
- SDK 触发该回调提醒 App 当前 Token 即将过期,应即时获取新 Token。收到该回调后,你需要在服务端生成新 Token 并调用 renewToken 方法将该 Token 传给 SDK。
- 如果调用 loginByToken 方法登录时传入的 Token 直至过期仍未更新,SDK 会断开连接,用户将下线。