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 方法。