RtmClient

最近更新时间:2022-09-20 05:17:40

Public 成员函数
abstract voidrelease ()
abstract voidlogin (@Nullable String token, @NonNull String userId, @Nullable ResultCallback< Void > resultCallback)
abstract voidlogout (@Nullable ResultCallback< Void > resultCallback)
abstract RtmMessagecreateMessage ()
abstract RtmMessagecreateMessage (String text)
abstract voidsendMessageToPeer (@NonNull String peerId, @NonNull RtmMessage message, @NonNull SendMessageOptions options, @Nullable ResultCallback< Void > resultCallback)
abstract RtmChannelcreateChannel (@NonNull String channelId, @NonNull RtmChannelListener channelListener) throws RuntimeException
abstract RtmCallManagergetRtmCallManager ()
abstract voidqueryPeersOnlineStatus (Set< String > peerIds, ResultCallback< Map< String, Boolean >> resultCallback)
abstract voidsubscribePeersOnlineStatus (Set< String > peerIds, ResultCallback< Void > resultCallback)
abstract voidunsubscribePeersOnlineStatus (Set< String > peerIds, ResultCallback< Void > resultCallback)
abstract voidqueryPeersBySubscriptionOption (Integer option, ResultCallback< Set< String >> resultCallback)
abstract voidrenewToken (String token, ResultCallback< Void > resultCallback)
abstract voidsetLocalUserAttributes (List< RtmAttribute > attributes, ResultCallback< Void > resultCallback)
abstract voidaddOrUpdateLocalUserAttributes (List< RtmAttribute > attributes, ResultCallback< Void > resultCallback)
abstract voiddeleteLocalUserAttributesByKeys (List< String > attributeKeys, ResultCallback< Void > resultCallback)
abstract voidclearLocalUserAttributes (ResultCallback< Void > resultCallback)
abstract voidgetUserAttributes (String userId, ResultCallback< List< RtmAttribute >> resultCallback)
abstract voidgetUserAttributesByKeys (String userId, List< String > attributeKeys, ResultCallback< List< RtmAttribute >> resultCallback)
abstract voidsetChannelAttributes (String channelId, List< RtmChannelAttribute > attributes, ChannelAttributeOptions option, ResultCallback< Void > resultCallback)
abstract voidaddOrUpdateChannelAttributes (String channelId, List< RtmChannelAttribute > attributes, ChannelAttributeOptions option, ResultCallback< Void > resultCallback)
abstract voiddeleteChannelAttributesByKeys (String channelId, List< String > attributeKeys, ChannelAttributeOptions option, ResultCallback< Void > resultCallback)
abstract voidclearChannelAttributes (String channelId, ChannelAttributeOptions option, ResultCallback< Void > resultCallback)
abstract voidgetChannelAttributes (String channelId, ResultCallback< List< RtmChannelAttribute >> resultCallback)
abstract voidgetChannelAttributesByKeys (String channelId, List< String > attributeKeys, ResultCallback< List< RtmChannelAttribute >> resultCallback)
abstract voidgetChannelMemberCount (List< String > channelIds, ResultCallback< List< RtmChannelMemberCount >> resultCallback)
abstract intsetParameters (String parameters)
abstract intsetLogFile (String filePath)
abstract intsetLogFilter (int filter)
abstract intsetLogFileSize (int fileSizeInKBytes)
静态 Public 成员函数
static RtmClientcreateInstance (@NonNull Context context, @NonNull String appId, @NonNull RtmClientListener eventListener) throws Exception
static StringgetSdkVersion ()
静态 Public 属性
static final intLOG_FILTER_OFF = 0
static final intLOG_FILTER_INFO = 0x0f
static final intLOG_FILTER_WARNING = 0x0e
static final intLOG_FILTER_ERROR = 0x0c
static final intLOG_FILTER_CRITICAL = 0x08
static final StringAR_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)

添加或更新某指定频道的属性。

  • 如果属性已存在,该方法更新该频道的已有属性;
  • 如果属性不存在,该方法增加该频道的属性。

注解

参数描述
channelId该指定频道的频道 ID。
attributes频道属性列表。详见 RtmChannelAttribute
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback方法调用成功:收到 onSuccess 回调。
方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError

addOrUpdateLocalUserAttributes()

abstract void org.ar.rtm.RtmClient.addOrUpdateLocalUserAttributes
                                                (List< RtmAttribute > attributes,
                                                ResultCallback< Void >  resultCallback)

添加或更新本地用户的属性。

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 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
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

cancelMediaUpload()

abstract void org.ar.rtm.RtmClient.cancelMediaUpload    
                                                (RtmRequestId requestId,
                                                ResultCallback< Void >  resultCallback)

通过 request ID 取消一个正在进行中的文件或图片上传任务。

注解

你只能取消一个正在进行中的上传任务。上传任务完成后则无法取消上传任务,因为相应的 request ID 已不再有效。

参数描述
requestId标识本次上传请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

clearChannelAttributes()

abstract void org.ar.rtm.RtmClient.clearChannelAttributes   
                                                (String channelId,
                                                ChannelAttributeOptions option,
                                                ResultCallback< Void > resultCallback)

清空某指定频道的属性。

注解

你无需加入指定频道即可清空该频道属性。setLocalUserAttributesaddOrUpdateChannelAttributesdeleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。

参数描述
channelId该指定频道的频道 ID。
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback方法调用成功:收到 onSuccess 回调。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError

clearLocalUserAttributes()

abstract void org.ar.rtm.RtmClient.clearLocalUserAttributes
                                                (ResultCallback< Void > resultCallback)

清空本地用户的所有属性。

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 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 资源。

参数描述
channelIdAR 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)的上下文。
appIdAR 为 App 开发者签发的 APP ID。如果你的开发包里没有 App ID,请从anyRTC申请一个新的 App ID。
eventListenerRtmClientListener 用于向 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。
    descriptionThe 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 方法更新本地频道属性缓存。setLocalUserAttributesaddOrUpdateChannelAttributesdeleteChannelAttributesByKeys ,和 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)

删除本地用户的指定属性。

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 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
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

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)

查询某指定频道的全部属性。

注解

参数描述
channelId该指定频道的频道 ID。
resultCallback方法调用成功:收到 onSuccess 回调和一个 RtmChannelAttribute 列表。方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError

getChannelAttributesByKeys()

abstract void org.ar.rtm.RtmClient.getChannelAttributesByKeys   
                            (String channelId,
                            List< String > attributeKeys,
                            ResultCallback< List< RtmChannelAttribute >> resultCallback)

查询某指定频道指定属性名的属性。

注解

参数描述
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)

获取指定用户的全部属性。

getUserAttributesgetUserAttributesByKeys 一并计算在内:调用频率上限为每 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)

获取指定用户指定属性名的属性。

getUserAttributesgetUserAttributesByKeys 一并计算在内:调用频率上限为每 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

方法调用成功:

方法调用失败:发送者收到回调 onFailure。错误码详见 PeerMessageError

setChannelAttributes()

abstract void org.ar.rtm.RtmClient.setChannelAttributes 
                                                (String channelId,
                                                List< RtmChannelAttribute > attributes,
                                                ChannelAttributeOptions option,
                                                ResultCallback< Void >  resultCallback)

全量设置某指定频道的属性。

注解

参数描述
channelId该指定频道的频道 ID。
attributes频道属性列表。详见 RtmChannelAttribute
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback方法调用成功:收到 onSuccess 回调。
方法调用失败:收到 onFailure 回调。错误码详见 AttributeOperationError

setLocalUserAttributes()

abstract void org.ar.rtm.RtmClient.setLocalUserAttributes   
                                                (List< RtmAttribute > attributes,
                                                ResultCallback< Void > resultCallback)

全量设置本地用户的属性。

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 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 选项。

参数描述
parametersJSON 字符串形式的参数。

返回

  • 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 级别的日志信息。