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 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 () |
静态 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 | AR_RTM_END_CALL_PREFIX = "ARRTMLegacyEndcallCompatibleMessagePrefix" |
详细描述
RTM SDK 的入口。
成员函数说明
addOrUpdateChannelAttributes()
abstract void org.ar.rtm.RtmClient.addOrUpdateChannelAttributes
(String channelId,
List< RtmChannelAttribute > attributes,
ChannelAttributeOptions option,
ResultCallback< Void > resultCallback)
添加或更新某指定频道的属性。
- 如果属性已存在,该方法更新该频道的已有属性;
- 如果属性不存在,该方法增加该频道的属性。
注解
-
你无需加入指定频道即可为该频道更新频道属性。
-
当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
-
如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
-
setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
attributes | 频道属性列表。详见 RtmChannelAttribute。 |
option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。 方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
addOrUpdateLocalUserAttributes()
abstract void org.ar.rtm.RtmClient.addOrUpdateLocalUserAttributes
(List< RtmAttribute > attributes,
ResultCallback< Void > resultCallback)
添加或更新本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
- 如果属性已存在,该方法更新本地用户的已有属性;
- 如果属性不存在,该方法增加本地用户的属性。
参数 | 描述 |
---|---|
attributes | 待增加或更新的属性列表。详见 RtmAttribute。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
cancelMediaDownload()
abstract void org.ar.rtm.RtmClient.cancelMediaDownload
(RtmRequestId requestId,
ResultCallback< Void > resultCallback)
通过 request ID 取消一个正在进行中的文件或图片下载任务。
注解
你只能取消一个正在进行中的下载任务。下载任务完成后则无法取消下载任务,因为相应的 request ID 已不再有效。
参数 | 描述 |
---|---|
requestId | 标识本次下载请求的唯一 ID。 |
resultCallback |
cancelMediaUpload()
abstract void org.ar.rtm.RtmClient.cancelMediaUpload
(RtmRequestId requestId,
ResultCallback< Void > resultCallback)
通过 request ID 取消一个正在进行中的文件或图片上传任务。
注解
你只能取消一个正在进行中的上传任务。上传任务完成后则无法取消上传任务,因为相应的 request ID 已不再有效。
参数 | 描述 |
---|---|
requestId | 标识本次上传请求的唯一 ID。 |
resultCallback |
clearChannelAttributes()
abstract void org.ar.rtm.RtmClient.clearChannelAttributes
(String channelId,
ChannelAttributeOptions option,
ResultCallback< Void > resultCallback)
清空某指定频道的属性。
注解
你无需加入指定频道即可清空该频道属性。setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
clearLocalUserAttributes()
abstract void org.ar.rtm.RtmClient.clearLocalUserAttributes
(ResultCallback< Void > resultCallback)
清空本地用户的所有属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
resultCallback | 方法调用成功:收到 onSuccess 回调。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
createChannel()
abstract RtmChannel org.ar.rtm.RtmClient.createChannel
(@NonNull String channelId,
@NonNull RtmChannelListener channelListener)throwsRuntimeException
创建 AR RTM 频道。
注解
一个 RtmClient 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请调用 RtmChannel.release() 方法销毁不再使用的 RtmChannel 实例资源。你当然可以调用 RtmClient.release() 方法释放当前 RtmClient 实例的 所有 资源,但是我们 不建议 你依赖 SDK 去释放 RtmChannel 资源。
参数 | 描述 |
---|---|
channelId | AR RTM 频道名称。该字符串长度在 64 字节以内。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 10 个数字 0-9 空格 "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," Note channelId不能设为空、null,或 "null"。 |
channelListener | 一个 RtmChannelListener 对象。 方法调用成功:SDK 返回一个 RtmChannel 实例。 方法调用失败:SDK 返回 null。原因可能是 channelId 无效,该 channelId 已存在,或频道数量超过限制。 |
返回
一个 RtmChannel 实例。
createInstance()
static RtmClient org.ar.rtm.RtmClient.createInstance
(@NonNull Context context,
@NonNull String appId,
@NonNull RtmClientListener eventListener)throws Exception
创建一个 RtmClient 实例。
AR RTM SDK 支持多个 RtmClient 实例。
RtmClient 类的所有接口函数都是异步调用。
参数 | 描述 |
---|---|
context | 安卓活动(Android Activity)的上下文。 |
appId | AR 为 App 开发者签发的 APP ID。如果你的开发包里没有 App ID,请从anyRTC申请一个新的 App ID。 |
eventListener | RtmClientListener 用于向 App 报告 RTM SDK 运行时的事件。 |
返回
一个 RtmClient 对象。
异常 | 描述 |
---|---|
Exception | 如果 appId 无效,或者 context和 eventListener其一为空,会返回异常信息。 |
createMessage() [1/4]
abstract RtmMessage org.ar.rtm.RtmClient.createMessage()
创建并返回一个空文本 RtmMessage 消息实例。
Note
- RtmMessage 实例可用于频道和点对点消息。
- 你可以在创建文本消息实例之后调用 setText 方法设置消息内容。不过请确保文本消息长度不超过 32 KB。
返回
一个空文本 RtmMessage 消息实例。
createMessage() [2/4]
abstract RtmMessage org.ar.rtm.RtmClient.createMessage(byte[] data)
创建并返回一个自定义二进制 RtmMessage 消息实例。
Note
-
RtmMessage 实例可用于频道和点对点消息。
-
你可以在调用本方法后通过 setText 方法设置自定义二进制消息的文字描述。但是请确保二进制消息和文字描述加起来的大小不超过 32 KB。
参数 描述 data 自定义二进制消息内容。不得超过 32 KB。
返回
一个自定义二进制 RtmMessage 消息实例。
createMessage() [3/4]
abstract RtmMessage org.ar.rtm.RtmClient.createMessage(byte[] data,String description)
创建并返回一个自定义二进制 RtmMessage 消息实例。
Note
-
RtmMessage 实例可用于频道和点对点消息。
-
你也可以先将 description 设为 "",消息创建成功后可以通过调用 setText 方法设置自定义二进制消息的文字描述。但是请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。
参数 描述 data 自定义二进制消息内容。不得超过 32 KB。 description The description of data.
返回
一个包含文字描述的自定义二进制 RtmMessage 消息实例。
createMessage() [4/4]
abstract RtmMessage org.ar.rtm.RtmClient.createMessage(String text)
创建并返回一个文本 RtmMessage 消息实例。
Note RtmMessage 实例可用于频道和点对点消息。
参数 | 描述 |
---|---|
text | 文本消息内容。长度不得超过 32 KB。 |
返回
一个文本 RtmMessage 消息实例。
deleteChannelAttributesByKeys()
abstract void org.ar.rtm.RtmClient.deleteChannelAttributesByKeys
(String channelId,
List< String > attributeKeys,
ChannelAttributeOptions option,
ResultCallback< Void > resultCallback)
删除某指定频道的指定属性。
注解
你无需加入指定频道即可为该频道更新频道属性。当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
attributeKeys | 频道属性名列表。 |
option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。 方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
deleteLocalUserAttributesByKeys()
abstract void org.ar.rtm.RtmClient.deleteLocalUserAttributesByKeys
(List< String > attributeKeys,
ResultCallback< Void > resultCallback)
删除本地用户的指定属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次 。
参数 | 描述 |
---|---|
attributeKeys | 属性名列表。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
downloadMediaToFile()
abstract void org.ar.rtm.RtmClient.downloadMediaToFile
(@NonNull String mediaId,
@NonNull String filePath,
RtmRequestId requestId,
ResultCallback< Void > resultCallback)
通过 media ID 从 AR 服务器下载文件或图片至本地指定地址。
参数 | 描述 |
---|---|
mediaId | 服务器上待下载的文件或图片对应的 media ID。 |
filePath | 下载文件或图片在本地存储的绝对路径。文件路径必须为 UTF-8 编码格式。 |
requestId | 标识本次下载请求的唯一 ID。 |
resultCallback |
downloadMediaToMemory()
abstract void org.ar.rtm.RtmClient.downloadMediaToMemory
(@NonNull String mediaId,
RtmRequestId requestId,
ResultCallback< byte[]> resultCallback)
通过 media ID 从 AR 服务器下载文件或图片至本地内存。
注解
-
该方法适用于需要快速读取下载文件或图片的场景。
-
SDK 会在回调结束后立即释放下载的文件或图片。
参数 | 描述 |
---|---|
mediaId | 服务器上待下载的文件或图片对应的 media ID。 |
requestId | 标识本次下载请求的唯一 ID。 |
resultCallback | 方法调用成功:收到回调 onSuccess。 方法调用失败:收到回调 onFailure。 |
getChannelAttributes()
abstract void org.ar.rtm.RtmClient.getChannelAttributes
(String channelId,
ResultCallback< List< RtmChannelAttribute >> resultCallback)
查询某指定频道的全部属性。
注解
-
你无需加入指定频道即可查询该频道的全部属性。
-
getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
resultCallback | 方法调用成功:收到 onSuccess 回调和一个 RtmChannelAttribute 列表。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
getChannelAttributesByKeys()
abstract void org.ar.rtm.RtmClient.getChannelAttributesByKeys
(String channelId,
List< String > attributeKeys,
ResultCallback< List< RtmChannelAttribute >> resultCallback)
查询某指定频道指定属性名的属性。
注解
-
你无需加入指定频道即可查询该频道的属性。
-
getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
attributeKeys | 频道属性名列表。 |
resultCallback | 方法调用成功:收到 onSuccess 回调和一个 RtmChannelAttribute 列表。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
getChannelMemberCount()
abstract void org.ar.rtm.RtmClient.getChannelMemberCount
(List< String > channelIds,
ResultCallback< List< RtmChannelMemberCount >> resultCallback)
查询单个或多个频道的成员人数。
注解
-
该方法的调用频率上限为每秒 1 次。
-
不支持一次查询超过 32 个频道的成员人数。
参数 | 描述 |
---|---|
channelIds | 指定频道名列表。 |
resultCallback | 方法调用成功:收到 onSuccess 回调和一个 RtmChannelMemberCount 列表。方法调用失败:收到 onFailure 回调。错误码详见 GetChannelMemberCountErrCode。 |
getRtmCallManager()
abstract RtmCallManager org.ar.rtm.RtmClient.getRtmCallManager()
获取 RtmCallManager 实例。
每个 RtmClient 实例都有各自唯一的 RtmCallManager 实例。属于不同 RtmClient 实例的 RtmCallManager 实例各不相同。
注解
RtmCallManager 的生命周期随 RtmClient 一同管理,在调用 release 方法后随 RtmClient 一同被销毁。
返回
RtmCallManager 实例。
getSdkVersion()
static String org.ar.rtm.RtmClient.getSdkVersion()
获取 AR RTM SDK 的版本信息。
返回
String 格式的 AR RTM SDK 的版本信息。比如:1.0.0。
getUserAttributes()
abstract void org.ar.rtm.RtmClient.getUserAttributes
(String userId,
ResultCallback< List< RtmAttribute >> resultCallback)
获取指定用户的全部属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
参数 | 描述 |
---|---|
userId | 指定用户的用户 ID。 |
resultCallback | 方法调用成功:收到 onSuccess 回调和一个 RtmAttribute 列表。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
getUserAttributesByKeys()
abstract void org.ar.rtm.RtmClient.getUserAttributesByKeys
(String userId,
List< String > attributeKeys,
ResultCallback< List< RtmAttribute >> resultCallback)
获取指定用户指定属性名的属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
参数 | 描述 |
---|---|
userId | 指定用户的用户 ID。 |
attributeKeys | 属性名列表。 |
resultCallback | 方法调用成功:收到 onSuccess 回调和一个 RtmAttribute 列表。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
login()
abstract void org.ar.rtm.RtmClient.login
(@Nullable String token,
@NonNull String userId,
@Nullable ResultCallback< Void > resultCallback)
登录 AR RTM 系统。
注解
如果你在不同 SDK 实例中以相同用户 ID 登录,之前登录的用户将被踢出。该方法的最高调用频率限制为 2 次每秒。只有在调用本方法成功登录 RTM 系统后(即:收到 onSuccess 回调时)才可以调用 RTM 的核心业务逻辑。以下方法除外:
参数 | 描述 |
---|---|
token | 用于登录 AR RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null。 |
userId | 登录 AR RTM 系统的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 10 个数字 0-9 空格(如果 userId 包含空格则无法与信令 SDK 互通) "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," |
Note
请不要将 userId设为空、 null ,或 "null"。
参数 | 描述 |
---|---|
resultCallback | 一个 ResultCallback 对象。方法调用成功:本地用户收到回调 onSuccess。方法调用失败:本地用户收到回调 onFailure。错误码详见 LoginError。 |
logout()
abstract void org.ar.rtm.RtmClient.logout(@Nullable ResultCallback< Void > resultCallback)
登出 AR RTM 系统。
参数 | 描述 |
---|---|
resultCallback | 一个 ResultCallback 对象。方法调用成功:本地用户收到回调 onSuccess。方法调用失败:本地用户收到回调 onFailure。错误码详见 LogoutError。 |
queryPeersBySubscriptionOption()
abstract void org.ar.rtm.RtmClient.queryPeersBySubscriptionOption
(Integer option,
ResultCallback< Set< String >> resultCallback)
获取某特定内容被订阅的用户列表。
参数 | 描述 |
---|---|
option | 被订阅的类型。详见 PeerSubscriptionOption。 |
resultCallback | 方法调用成功:收到一个 onSuccess 回调。 方法调用失败:收到一个 onFailure 回调。错误码详见 QueryPeersBySubscriptionOptionError。 |
queryPeersOnlineStatus()
abstract void org.ar.rtm.RtmClient.queryPeersOnlineStatus
(Set< String > peerIds,
ResultCallback< Map< String, Boolean >> resultCallback)
查询指定用户的在线状态。
- 在线:用户已登录到 AR RTM 系统。
- 不在线:用户已登出 AR RTM 系统或因其他原因与 AR RTM 系统断开连接。
参数 | 描述 |
---|---|
peerIds | 用户 ID 列表。 |
resultCallback | 方法调用成功:收到一个 onSuccess 回调和一个 Map 对象。Map 的 Key 值为用户 ID, Boolean 值表示在线状态。 方法调用失败:收到一个 onFailure 回调。错误码详见 QueryPeersOnlineStatusError |
release()
abstract void org.ar.rtm.RtmClient.release()
释放当前 RtmClient 实例使用的所有资源。
注解
请不要在任何回调中调用该方法。
renewToken()
abstract void org.ar.rtm.RtmClient.renewToken
(String token,
ResultCallback< Void > resultCallback)
更新当前的 RTM Token。
在收到 onTokenPrivilegeWillExpire 回调时你需要调用此方法更新 Token。该方法的调用频率为 2 次每秒。
参数 | 描述 |
---|---|
token | 新的 RTM Token。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。 方法调用失败:收到 onFailure 回调。错误码详见 RenewTokenError。 |
sendMessageToPeer()
abstract void org.ar.rtm.RtmClient.sendMessageToPeer
(@NonNull String peerId,
@NonNull RtmMessage message,
@NonNull SendMessageOptions options,
@Nullable ResultCallback< Void > resultCallback)
向指定用户发送点对点消息或点对点的离线消息。
该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。
注解
发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 180 次。
参数 | 描述 |
---|---|
peerId | 接收者的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 10 个数字 0-9 空格 "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," Note peerId 不能设为空、 null ,或 "null"。 |
message | 需要发送的消息。欲了解如何创建消息,请参考 RtmMessage。 |
options | 消息发送选项。详见 SendMessageOptions。 |
resultCallback |
方法调用成功:
- 发送者收到回调 onSuccess。
- 接收者收到回调 onMessageReceived。
方法调用失败:发送者收到回调 onFailure。错误码详见 PeerMessageError。
setChannelAttributes()
abstract void org.ar.rtm.RtmClient.setChannelAttributes
(String channelId,
List< RtmChannelAttribute > attributes,
ChannelAttributeOptions option,
ResultCallback< Void > resultCallback)
全量设置某指定频道的属性。
注解
- 你无需加入指定频道即可为该频道设置频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
参数 | 描述 |
---|---|
channelId | 该指定频道的频道 ID。 |
attributes | 频道属性列表。详见 RtmChannelAttribute。 |
option | 频道属性操作选项。详见 ChannelAttributeOptions。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。 方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
setLocalUserAttributes()
abstract void org.ar.rtm.RtmClient.setLocalUserAttributes
(List< RtmAttribute > attributes,
ResultCallback< Void > resultCallback)
全量设置本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
描述 | |
---|---|
attributes | 待设置的属性。详见 RtmAttribute。 |
resultCallback | 方法调用成功:收到 onSuccess 回调。 方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError。 |
setLogFile()
abstract int org.ar.rtm.RtmClient.setLogFile (String filePath)
设定日志文件的默认地址。
参数 | 描述 |
---|---|
filePath | 日志文件的绝对路径。编码格式为 UTF-8。Android 平台的日志默认路径为 /sdcard/{Package name of the App}/ar_rtm_sdk.log。 |
注解
- 请确保指定的路径存在并且可写。
- 如需调用本方法,请在调用 createInstance 方法后立即调用,否则会造成输出日志不完整。
返回
- 0: 方法调用成功;
- ≠0: 方法调用失败。
setLogFileSize()
abstract int org.ar.rtm.RtmClient.setLogFileSize(int fileSizeInKBytes)
设置日志文件大小。
设置 SDK 输出日志文件的大小,单位为 KB。 SDK 设有 2 个日志文件,每个文件大小为 512 KB。如果你将 fileSizeInKByte 设置为 1024 KB, SDK 会最多输出 2 MB 的日志文件。
Note 低于 512 KB 或者高于 10 MB 的日志大小设置不会生效。
参数 | 描述 |
---|---|
fileSizeInKBytes | 指定 SDK 输出日志文件的大小,单位为 KB。 |
返回
- 0: 方法调用成功;
- ≠0: 方法调用失败。
setLogFilter()
abstract int org.ar.rtm.RtmClient.setLogFilter(int filter)
设置日志输出等级。
设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING 和 INFO。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。
参数 | 描述 |
---|---|
filter | 日志输出等级:LOG_FILTER_OFF(0): 不输出日志信息。 LOG_FILTER_INFO(0x0f): 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。 LOG_FILTER_WARNING(0x0e): 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。 LOG_FILTER_ERROR(0x0c): 输出 CRITICAL 和 ERROR 级别的日志信息。 LOG_FILTER_CRITICAL(0x08): 输出 CRITICAL 级别的日志信息。 |
返回
- 0: 方法调用成功;
- ≠0: 方法调用失败。
setParameters()
abstract int org.ar.rtm.RtmClient.setParameters(String parameters)
通过 JSON 配置 SDK 提供技术预览或特别定制功能。
JSON 选项默认不公开。anyRTC工程师正在努力寻求以标准化方式公开 JSON 选项。
参数 | 描述 |
---|---|
parameters | JSON 字符串形式的参数。 |
返回
- 0:方法调用成功。
- ≠0:方法调用失败。
subscribePeersOnlineStatus()
abstract void org.ar.rtm.RtmClient.subscribePeersOnlineStatus
(Set< String > peerIds,
ResultCallback< Void > resultCallback)
订阅指定单个或多个用户的在线状态。
- 首次订阅成功后,SDK 会通过 onPeersOnlineStatusChanged 回调返回被订阅用户在线状态。
- 每当被订阅用户在线状态发生变化时,SDK 都会通过 onPeersOnlineStatusChanged 回调通知订阅方。
- 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过 onPeersOnlineStatusChanged 回调通知订阅方。
Note
- 用户登出 AR RTM 系统后,所有之前的订阅内容都会被清空;重新登录后,如需保留之前订阅内容则需重新订阅。
- SDK 会在网络连接中断时进入断线重连状态。重连成功时 SDK 会自动重新订阅之前订阅用户,无需人为干预。
参数 | 描述 |
---|---|
peerIds | 指定用户的 ID 列表。 |
resultCallback | 方法调用成功:收到一个 onSuccess 回调。 方法调用失败:收到一个 onFailure 回调。错误码详见 PeerSubscriptionStatusError。 |
unsubscribePeersOnlineStatus()
abstract void org.ar.rtm.RtmClient.unsubscribePeersOnlineStatus
(Set< String > peerIds,
ResultCallback< Void > resultCallback)
退订指定单个或多个用户的在线状态。
参数 | 描述 |
---|---|
peerIds | 指定用户的 ID 列表。 |
resultCallback | 方法调用成功:收到一个 onSuccess 回调。 方法调用失败:收到一个 onFailure 回调。错误码详见 PeerSubscriptionStatusError。 |
类成员变量说明
AR_RTM_END_CALL_PREFIX
final String org.ar.rtm.RtmClient.AR_RTM_END_CALL_PREFIX = "ARRTMLegacyEndcallCompatibleMessagePrefix"
用于结束通话的前缀信息。可与 sendMessageToPeer 方法配合使用来兼容 AR 老信令系统的 endCall 方法。
LOG_FILTER_CRITICAL
final int org.ar.rtm.RtmClient.LOG_FILTER_CRITICAL = 0x08
0x08: 输出 CRITICAL 级别的日志信息。
LOG_FILTER_ERROR
final int org.ar.rtm.RtmClient.LOG_FILTER_ERROR = 0x0c
0x0c: 输出 CRITICAL 和 ERROR 级别的日志信息。
LOG_FILTER_INFO
final int org.ar.rtm.RtmClient.LOG_FILTER_INFO = 0x0f
0x0f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。
LOG_FILTER_OFF
final int org.ar.rtm.RtmClient.LOG_FILTER_OFF = 0
0: 不输出日志信息。
LOG_FILTER_WARNING
final int org.ar.rtm.RtmClient.LOG_FILTER_WARNING = 0x0e
0x0e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。