AgoraRtmDelegate Protocol Reference

Conforms to NSObject
Declared in AgoraRtmKit.h

Overview

AgoraRtmDelegate 接口类向 App 发送回调通知,上报运行时的事件。

– rtmKit:connectionStateChanged:reason:

连接状态改变回调。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit connectionStateChanged:(AgoraRtmConnectionState)state reason:(AgoraRtmConnectionChangeReason)reason

Parameters

kit

AgoraRtmKit 实例。

state

新的连接状态,详见 AgoraRtmConnectionState。

reason

连接状态改变的原因,详见 AgoraRtmConnectionChangeReason。

Declared In

AgoraRtmKit.h

– rtmKit:messageReceived:fromPeer:

收到点对点消息回调。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit messageReceived:(AgoraRtmMessage *_Nonnull)message fromPeer:(NSString *_Nonnull)peerId

Parameters

kit

AgoraRtmKit 实例。

message

收到的消息内容。

peerId

消息发送者的用户 ID。

Declared In

AgoraRtmKit.h

– rtmKit:fileMessageReceived:fromPeer:

DEPRECATED 该回调自 1.5.0 版本开始正式下线,Agora 建议你不要使用。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit fileMessageReceived:(AgoraRtmFileMessage *_Nonnull)message fromPeer:(NSString *_Nonnull)peerId

Parameters

kit

一个 AgoraRtmKit 实例。

message

接收到的文件消息。 详见 AgoraRtmFileMessage。

peerId

发送该消息的对端用户 ID。

Discussion

收到点对点文件消息回调。

Declared In

AgoraRtmKit.h

– rtmKit:imageMessageReceived:fromPeer:

DEPRECATED 该回调自 1.5.0 版本开始正式下线,Agora 建议你不要使用。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit imageMessageReceived:(AgoraRtmImageMessage *_Nonnull)message fromPeer:(NSString *_Nonnull)peerId

Parameters

kit

一个 AgoraRtmKit 实例。

message

接收到的图片消息。 详见 AgoraRtmImageMessage。

peerId

发送该消息的对端用户 ID。

Discussion

收到点对点图片消息回调。

Declared In

AgoraRtmKit.h

– rtmKit:media:uploadingProgress:

DEPRECATED 该回调自 1.5.0 版本开始正式下线,Agora 建议你不要使用。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit media:(long long)requestId uploadingProgress:(AgoraRtmMediaOperationProgress *_Nonnull)progress

Parameters

kit

一个 AgoraRtmKit 实例。

requestId

标识本次上传请求的的唯一 ID。

progress

文件或图片的上传进度。详见 AgoraRtmMediaOperationProgress。

Discussion

主动回调:上传任务的上传进度回调。

NOTE

  • 如果上传任务正在不断进行中,SDK 每秒返回该回调一次。
  • 如果上传任务停顿,SDK 会暂停返回该回调直到上传任务重新进行。

Declared In

AgoraRtmKit.h

– rtmKit:media:downloadingProgress:

DEPRECATED 该回调自 1.5.0 版本开始正式下线,Agora 建议你不要使用。

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit media:(long long)requestId downloadingProgress:(AgoraRtmMediaOperationProgress *_Nonnull)progress

Parameters

kit

一个 AgoraRtmKit 实例。

requestId

标识本次下载请求的的唯一 ID。

progress

文件或图片的下载进度。详见 AgoraRtmMediaOperationProgress。

Discussion

主动回调:下载任务的下载进度回调。

NOTE

  • 如果下载任务正在不断进行中,SDK 每秒返回该回调一次。
  • 如果下载任务停顿,SDK 会暂停返回该回调直到上传任务重新进行。

Declared In

AgoraRtmKit.h

– rtmKit:PeersOnlineStatusChanged:

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

- (void)rtmKit:(AgoraRtmKit *_Nonnull)kit PeersOnlineStatusChanged:(NSArray<AgoraRtmPeerOnlineStatus*> *_Nonnull)onlineStatus

Parameters

kit

一个 AgoraRtmKit 实例。

onlineStatus

用户在线状态列表。详见 AgoraRtmPeerOnlineStatus。

Discussion

  • 首次订阅在线状态成功时,SDK 也会返回本回调,显示所有被订阅用户的在线状态。
  • 每当被订阅用户的在线状态发生改变,SDK 都会通过该回调通知订阅方。
  • 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过该回调通知订阅方。

Declared In

AgoraRtmKit.h

– rtmKitTokenDidExpire:

当前使用的 RTM Token 已超过签发有效期。

- (void)rtmKitTokenDidExpire:(AgoraRtmKit *_Nonnull)kit

Parameters

kit

一个 AgoraRtmKit 实例。

Discussion

  • 如果 Token 过期时,用户处于 AgoraRtmConnectionStateConnected 状态,会收到该回调并切换至 AgoraRtmConnectionStateAborted 状态。此时,用户需要调用 loginByToken 方法重新登录。
  • 如果 Token 过期时,用户由于网络问题处于 AgoraRtmConnectionStateReconnecting 状态,会在网络恢复时收到该回调。此时,用户需要调用 renewToken 方法恢复连接。

Declared In

AgoraRtmKit.h

– rtmKitTokenPrivilegeWillExpire:

当前使用的 RTM Token 还有 30 秒过期。

- (void)rtmKitTokenPrivilegeWillExpire:(AgoraRtmKit *_Nonnull)kit

Parameters

kit

一个 AgoraRtmKit 实例。

Discussion

  • SDK 触发该回调提醒 App 当前 Token 即将过期,应即时获取新 Token。收到该回调后,你需要在服务端生成新 Token 并调用 renewToken 方法将该 Token 传给 SDK。
  • 如果调用 loginByToken 方法登录时传入的 Token 直至过期仍未更新,SDK 会断线重连,用户将下线。

Declared In

AgoraRtmKit.h