Public 成员函数 | |
| abstract void | release () |
| abstract void | login (@Nullable String token, @NonNull String userId, @Nullable ResultCallback< Void > resultCallback) |
| abstract void | logout (@Nullable ResultCallback< Void > resultCallback) |
| abstract RtmMessage | createMessage () |
| abstract RtmMessage | createMessage (String text) |
| abstract RtmMessage | createMessage (byte[] data) |
| abstract RtmMessage | createMessage (byte[] data, String description) |
| abstract RtmFileMessage | createFileMessageByMediaId (@NonNull String mediaId) |
| abstract RtmImageMessage | createImageMessageByMediaId (@NonNull String mediaId) |
| abstract void | createFileMessageByUploading (@NonNull String filePath, RtmRequestId requestId, ResultCallback< RtmFileMessage > resultCallback) |
| abstract void | createImageMessageByUploading (@NonNull String filePath, RtmRequestId requestId, ResultCallback< RtmImageMessage > resultCallback) |
| abstract void | downloadMediaToMemory (@NonNull String mediaId, RtmRequestId requestId, ResultCallback< byte[]> resultCallback) |
| abstract void | downloadMediaToFile (@NonNull String mediaId, @NonNull String filePath, RtmRequestId requestId, ResultCallback< Void > resultCallback) |
| abstract void | cancelMediaUpload (RtmRequestId requestId, ResultCallback< Void > resultCallback) |
| abstract void | cancelMediaDownload (RtmRequestId requestId, ResultCallback< Void > resultCallback) |
| abstract void | sendMessageToPeer (@NonNull String peerId, @NonNull RtmMessage message, @Nullable ResultCallback< Void > resultCallback) |
| abstract void | sendMessageToPeer (@NonNull String peerId, @NonNull RtmMessage message, @NonNull SendMessageOptions options, @Nullable ResultCallback< Void > resultCallback) |
| abstract RtmChannel | createChannel (@NonNull String channelId, @NonNull RtmChannelListener channelListener) throws RuntimeException |
| abstract RtmCallManager | getRtmCallManager () |
| abstract void | queryPeersOnlineStatus (Set< String > peerIds, ResultCallback< Map< String, Boolean > > resultCallback) |
| abstract void | subscribePeersOnlineStatus (Set< String > peerIds, ResultCallback< Void > resultCallback) |
| abstract void | unsubscribePeersOnlineStatus (Set< String > peerIds, ResultCallback< Void > resultCallback) |
| abstract void | queryPeersBySubscriptionOption (Integer option, ResultCallback< Set< String > > resultCallback) |
| abstract void | renewToken (String token, ResultCallback< Void > resultCallback) |
| abstract void | setLocalUserAttributes (List< RtmAttribute > attributes, ResultCallback< Void > resultCallback) |
| abstract void | addOrUpdateLocalUserAttributes (List< RtmAttribute > attributes, ResultCallback< Void > resultCallback) |
| abstract void | deleteLocalUserAttributesByKeys (List< String > attributeKeys, ResultCallback< Void > resultCallback) |
| abstract void | clearLocalUserAttributes (ResultCallback< Void > resultCallback) |
| abstract void | getUserAttributes (String userId, ResultCallback< List< RtmAttribute > > resultCallback) |
| abstract void | getUserAttributesByKeys (String userId, List< String > attributeKeys, ResultCallback< List< RtmAttribute > > resultCallback) |
| abstract void | setChannelAttributes (String channelId, List< RtmChannelAttribute > attributes, ChannelAttributeOptions option, ResultCallback< Void > resultCallback) |
| abstract void | addOrUpdateChannelAttributes (String channelId, List< RtmChannelAttribute > attributes, ChannelAttributeOptions option, ResultCallback< Void > resultCallback) |
| abstract void | deleteChannelAttributesByKeys (String channelId, List< String > attributeKeys, ChannelAttributeOptions option, ResultCallback< Void > resultCallback) |
| abstract void | clearChannelAttributes (String channelId, ChannelAttributeOptions option, ResultCallback< Void > resultCallback) |
| abstract void | getChannelAttributes (String channelId, ResultCallback< List< RtmChannelAttribute > > resultCallback) |
| abstract void | getChannelAttributesByKeys (String channelId, List< String > attributeKeys, ResultCallback< List< RtmChannelAttribute > > resultCallback) |
| abstract void | getChannelMemberCount (List< String > channelIds, ResultCallback< List< RtmChannelMemberCount > > resultCallback) |
| abstract int | setParameters (String parameters) |
| abstract int | setLogFile (String filePath) |
| abstract int | setLogFilter (int filter) |
| abstract int | setLogFileSize (int fileSizeInKBytes) |
静态 Public 成员函数 | |
| static RtmClient | createInstance (@NonNull Context context, @NonNull String appId, @NonNull RtmClientListener eventListener) throws Exception |
| static String | getSdkVersion () |
| static SET_RTM_SERVICE_CONTEXT_ERR_CODE | setRtmServiceContext (RtmServiceContext context) |
静态 Public 属性 | |
| static final int | LOG_FILTER_OFF = 0 |
| static final int | LOG_FILTER_INFO = 0x0f |
| static final int | LOG_FILTER_WARNING = 0x0e |
| static final int | LOG_FILTER_ERROR = 0x0c |
| static final int | LOG_FILTER_CRITICAL = 0x08 |
| static final String | AGORA_RTM_END_CALL_PREFIX = "AgoraRTMLegacyEndcallCompatibleMessagePrefix" |
Agora RTM SDK 的入口。
|
static |
创建一个 RtmClient 实例。
Agora RTM SDK 支持多个 RtmClient 实例。
RtmClient 类的所有接口函数都是异步调用。
| context | 安卓活动(Android Activity)的上下文。 |
| appId | Agora 为 App 开发者签发的 APP ID。如果你的开发包里没有 App ID,请从声网申请一个新的 App ID。 |
| eventListener | RtmClientListener 用于向 App 报告 RTM SDK 运行时的事件。 |
RtmClient 对象。 | Exception | 如果 appId 无效,或者 context 和 eventListener 其一为空,会返回异常信息。 |
|
abstract |
释放当前 RtmClient 实例使用的所有资源。
|
abstract |
登录 Agora RTM 系统。
onSuccess 回调时)才可以调用 RTM 的核心业务逻辑。以下方法除外:
| token | 用于登录 Agora RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null。 |
| userId | 登录 Agora RTM 系统的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围:
|
Note
请不要将 userId 设为空、 null ,或 "null"。
| resultCallback | 一个 ResultCallback 对象。
|
|
abstract |
登出 Agora RTM 系统。
| resultCallback | 一个 ResultCallback 对象。
|
|
abstract |
创建并返回一个空文本 RtmMessage 消息实例。
Note
RtmMessage 实例可用于频道和点对点消息。 setText 方法设置消息内容。不过请确保文本消息长度不超过 32 KB。 RtmMessage 消息实例。
|
abstract |
创建并返回一个文本 RtmMessage 消息实例。
Note RtmMessage 实例可用于频道和点对点消息。
| text | 文本消息内容。长度不得超过 32 KB。 |
RtmMessage 消息实例。
|
abstract |
创建并返回一个自定义二进制 RtmMessage 消息实例。
Note
RtmMessage 实例可用于频道和点对点消息。 setText 方法设置自定义二进制消息的文字描述。但是请确保二进制消息和文字描述加起来的大小不超过 32 KB。 | data | 自定义二进制消息内容。不得超过 32 KB。 |
RtmMessage 消息实例。
|
abstract |
创建并返回一个自定义二进制 RtmMessage 消息实例。
Note
RtmMessage 实例可用于频道和点对点消息。 description 设为 "",消息创建成功后可以通过调用 setText 方法设置自定义二进制消息的文字描述。但是请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。 | data | 自定义二进制消息内容。不得超过 32 KB。 |
| description | The description of data. |
RtmMessage 消息实例。
|
abstract |
通过 media ID 创建一个 RtmFileMessage 文件消息实例。
| mediaId | 已上传到 Agora 服务器的文件的 media ID。 |
|
abstract |
通过 media ID 创建一个 RtmImageMessage 图片消息实例。
| mediaId | 已上传到 Agora 服务器的图片的 media ID。 |
|
abstract |
上传一个文件到 Agora 服务器以获取一个相应的 RtmFileMessage 文件消息实例。
|
abstract |
上传一个图片到 Agora 服务器以获取一个相应的 RtmImageMessage 图片消息实例。
|
abstract |
|
abstract |
|
abstract |
|
abstract |
|
abstract |
sendMessageToPeer 发送点对点消息或点对点的离线消息。发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 180 次。
| peerId | 接收者的用户 ID。 |
| message | 需要发送的消息。欲了解如何创建消息,请参考 RtmMessage。 |
| resultCallback |
方法调用成功:
onSuccess。 onMessageReceived。 方法调用失败:发送者收到回调 onFailure。错误码详见 PeerMessageError。
|
abstract |
向指定用户发送点对点消息或点对点的离线消息。
该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。
本方法可与老信令 SDK 的 endCall 方法兼容。你只需在用本方法发送文本消息时将消息头设为 AGORA_RTM_ENDCALL_PREFIX_<channelId>_<your additional information> 格式即可。请以 endCall 对应频道的 ID 替换 <channelId>, <your additional information> 为附加文本信息。请注意:附加文本信息中不可使用下划线 "_" ,附加文本信息可以设为空字符串 ""。
| peerId | 接收者的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围:
peerId 不能设为空、 null ,或 "null"。 |
| message | 需要发送的消息。欲了解如何创建消息,请参考 RtmMessage。 |
| options | 消息发送选项。详见 SendMessageOptions。 |
| resultCallback | 方法调用成功:
|
方法调用失败:发送者收到回调 onFailure。错误码详见 PeerMessageError。
|
abstract |
创建一个 Agora RTM 频道。
RtmClient 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请调用 RtmChannel.release() 方法销毁不再使用的 RtmChannel 实例资源。你当然可以调用 RtmClient.release() 方法释放当前 RtmClient 实例的 所有 资源,但是我们 不建议 你依赖 SDK 去释放 RtmChannel 资源。| channelId | Agora RTM 频道名称。该字符串长度在 64 字节以内。以下为支持的字符集范围:
channelId 不能设为空、null,或 "null"。 |
| channelListener | 一个 RtmChannelListener 对象。
|
RtmChannel 实例。
|
abstract |
获取 RtmCallManager 实例。
每个 RtmClient 实例都有各自唯一的 RtmCallManager 实例。属于不同 RtmClient 实例的 RtmCallManager 实例各不相同。
RtmCallManager 的生命周期随 RtmClient 一同管理,在调用 release 方法后随 RtmClient 一同被销毁。RtmCallManager 实例。
|
abstract |
查询指定用户的在线状态。
| peerIds | 用户 ID 列表。最多不超过 256 个用户 ID。 |
| resultCallback |
|
|
abstract |
订阅指定单个或多个用户的在线状态。
onPeersOnlineStatusChanged 回调返回被订阅用户在线状态。 onPeersOnlineStatusChanged 回调通知订阅方。 onPeersOnlineStatusChanged 回调通知订阅方。 Note
| peerIds | 用户 ID 列表。最多不超过 512 个用户 ID。 |
| resultCallback |
|
|
abstract |
退订指定单个或多个用户的在线状态。
| peerIds | 用户 ID 列表。 |
| resultCallback |
|
|
abstract |
获取某特定内容被订阅的用户列表。
| option | 被订阅的类型。详见 PeerSubscriptionOption。 |
| resultCallback |
|
|
abstract |
更新 SDK 的 RTM Token。
在收到 onTokenExpired 回调时你需要调用此方法更新 Token。该方法的调用频率为 2 次每秒。
| token | 新的 RTM Token。你需要自行生成 RTM Token。参考《生成 RTM Token》。 |
| resultCallback |
|
|
abstract |
全量设置本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| attributes | 待设置的属性。详见 RtmAttribute。 |
| resultCallback |
|
|
abstract |
添加或更新本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| attributes | 待增加或更新的属性列表。详见 RtmAttribute。 |
| resultCallback |
|
|
abstract |
删除本地用户的指定属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| attributeKeys | 属性名列表。 |
| resultCallback |
|
|
abstract |
清空本地用户的所有属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| resultCallback |
|
|
abstract |
获取指定用户的全部属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
| userId | 指定用户的用户 ID。 |
| resultCallback |
|
|
abstract |
获取指定用户指定属性名的属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
| userId | 指定用户的用户 ID。 |
| attributeKeys | 属性名列表。 |
| resultCallback |
|
|
abstract |
全量设置某指定频道的属性。
getChannelAttributes 方法更新本地频道属性缓存。 setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| attributes | 频道属性列表。详见 RtmChannelAttribute。 |
| option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
| resultCallback |
|
|
abstract |
添加或更新某指定频道的属性。
getChannelAttributes 方法更新本地频道属性缓存。 setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| attributes | 频道属性列表。详见 RtmChannelAttribute。 |
| option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
| resultCallback |
|
|
abstract |
删除某指定频道的指定属性。
getChannelAttributes 方法更新本地频道属性缓存。 setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| attributeKeys | 频道属性名列表。 |
| option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
| resultCallback |
|
|
abstract |
清空某指定频道的属性。
setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
| resultCallback |
|
|
abstract |
查询某指定频道的全部属性。
getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| resultCallback |
|
|
abstract |
查询某指定频道指定属性名的属性。
getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。 | channelId | 该指定频道的频道 ID。 |
| attributeKeys | 频道属性名列表。 |
| resultCallback |
|
|
abstract |
查询单个或多个频道的成员人数。
| channelIds | 指定频道名列表。 |
| resultCallback |
|
|
abstract |
通过 JSON 配置 SDK 提供技术预览或特别定制功能。
JSON 选项默认不公开。声网工程师正在努力寻求以标准化方式公开 JSON 选项。
| parameters | JSON 字符串形式的参数。 |
|
abstract |
设定日志文件的默认地址。
| filePath | 日志文件的绝对路径。编码格式为 UTF-8。Android 平台的日志默认路径为 /sdcard/{Package name of the App}/agorartm.log。 |
createInstance 方法后立即调用,否则会造成输出日志不完整。
|
abstract |
设置日志输出等级。
设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING 和 INFO。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。
| filter | 日志输出等级:
|
|
abstract |
设置 SDK 输出的单个日志文件的大小,单位为 KB。 SDK 设有 2 个大小相同的日志文件。
| fileSizeInKBytes | SDK 输出的单个日志文件的大小,单位为 KB。默认值为 10240 (KB)。取值范围为 [512 KB, 1 GB]。 |
|
static |
获取 Agora RTM SDK 的版本信息。
|
static |
设置所有 RtmClient 实例的上下文。你在成功调用此方法之后创建的所有 RtmClient 实例都符合此方法设置的上下文。
createInstance 创建 RtmClient 实例之前或调用 release 方法释放所有 RtmClient 实例之后调用该方法。否则,该方法会返回 SET_RTM_SERVICE_CONTEXT_ERR_FAILURE 。| context | RtmClient 实例的上下文,包括区域限制和云代理设置。 参考 RtmServiceContext 。 |
|
static |
0: 不输出日志信息。
|
static |
0x0f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。
|
static |
0x0e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。
|
static |
0x0c: 输出 CRITICAL 和 ERROR 级别的日志信息。
|
static |
0x08: 输出 CRITICAL 级别的日志信息。
|
static |
用于结束通话的前缀信息。可与 sendMessageToPeer 方法配合使用来兼容 Agora 老信令系统的 endCall 方法。