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 的入口。

成员函数说明

◆ createInstance()

static RtmClient io.agora.rtm.RtmClient.createInstance ( @NonNull Context  context,
@NonNull String  appId,
@NonNull RtmClientListener  eventListener 
) throws Exception
static

创建一个 RtmClient 实例。

Agora RTM SDK 支持多个 RtmClient 实例。

RtmClient 类的所有接口函数都是异步调用。

参数
context安卓活动(Android Activity)的上下文。
appIdAgora 为 App 开发者签发的 APP ID。如果你的开发包里没有 App ID,请从声网申请一个新的 App ID。
eventListenerRtmClientListener 用于向 App 报告 RTM SDK 运行时的事件。
返回
一个 RtmClient 对象。
异常
Exception如果 appId 无效,或者 contexteventListener 其一为空,会返回异常信息。

◆ release()

abstract void io.agora.rtm.RtmClient.release ( )
abstract

释放当前 RtmClient 实例使用的所有资源。

注解
请不要在任何回调中调用该方法。

◆ login()

abstract void io.agora.rtm.RtmClient.login ( @Nullable String  token,
@NonNull String  userId,
@Nullable ResultCallback< Void >  resultCallback 
)
abstract

登录 Agora RTM 系统。

注解
参数
token用于登录 Agora RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null。
userId登录 Agora 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 io.agora.rtm.RtmClient.logout ( @Nullable ResultCallback< Void >  resultCallback)
abstract

登出 Agora RTM 系统。

参数
resultCallback一个 ResultCallback 对象。
  • 方法调用成功:本地用户收到回调 onSuccess
  • 方法调用失败:本地用户收到回调 onFailure。错误码详见 LogoutError

◆ createMessage() [1/4]

abstract RtmMessage io.agora.rtm.RtmClient.createMessage ( )
abstract

创建并返回一个空文本 RtmMessage 消息实例。

Note

  • RtmMessage 实例可用于频道和点对点消息。
  • 你可以在创建文本消息实例之后调用 setText 方法设置消息内容。不过请确保文本消息长度不超过 32 KB。
返回
一个空文本 RtmMessage 消息实例。

◆ createMessage() [2/4]

abstract RtmMessage io.agora.rtm.RtmClient.createMessage ( String  text)
abstract

创建并返回一个文本 RtmMessage 消息实例。

Note RtmMessage 实例可用于频道和点对点消息。

参数
text文本消息内容。长度不得超过 32 KB。
返回
一个文本 RtmMessage 消息实例。

◆ createMessage() [3/4]

abstract RtmMessage io.agora.rtm.RtmClient.createMessage ( byte[]  data)
abstract

创建并返回一个自定义二进制 RtmMessage 消息实例。

Note

  • RtmMessage 实例可用于频道和点对点消息。
  • 你可以在调用本方法后通过 setText 方法设置自定义二进制消息的文字描述。但是请确保二进制消息和文字描述加起来的大小不超过 32 KB。
参数
data自定义二进制消息内容。不得超过 32 KB。
返回
一个自定义二进制 RtmMessage 消息实例。

◆ createMessage() [4/4]

abstract RtmMessage io.agora.rtm.RtmClient.createMessage ( byte[]  data,
String  description 
)
abstract

创建并返回一个自定义二进制 RtmMessage 消息实例。

Note

  • RtmMessage 实例可用于频道和点对点消息。
  • 你也可以先将 description 设为 "",消息创建成功后可以通过调用 setText 方法设置自定义二进制消息的文字描述。但是请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。
参数
data自定义二进制消息内容。不得超过 32 KB。
descriptionThe description of data.
返回
一个包含文字描述的自定义二进制 RtmMessage 消息实例。

◆ createFileMessageByMediaId()

abstract RtmFileMessage io.agora.rtm.RtmClient.createFileMessageByMediaId ( @NonNull String  mediaId)
abstract

通过 media ID 创建一个 RtmFileMessage 文件消息实例。

  • 如果你已经有了一个保存在 Agora 服务器上的文件对应的 media ID,你可以调用本方法创建一个 RtmFileMessage 文件消息实例。
  • 如果你没有相应的 media ID,那么你必须通过调用 createFileMessageByUploading 方法上传相应的文件到 Agora 服务器来获得一个对应的 RtmFileMessage 文件消息实例。
参数
mediaId已上传到 Agora 服务器的文件的 media ID。
返回
一个 RtmFileMessage 文件消息实例。

◆ createImageMessageByMediaId()

abstract RtmImageMessage io.agora.rtm.RtmClient.createImageMessageByMediaId ( @NonNull String  mediaId)
abstract

通过 media ID 创建一个 RtmImageMessage 图片消息实例。

  • 如果你已经有了一个保存在 Agora 服务器上的图片对应的 media ID,你可以调用本方法创建一个 RtmImageMessage 图片消息实例。
  • 如果你没有相应的 media ID,那么你必须通过调用 createImageMessageByUploading 方法上传相应的文件到 Agora 服务器来获得一个对应的 RtmImageMessage 图片消息实例。
参数
mediaId已上传到 Agora 服务器的图片的 media ID。
返回
一个 RtmImageMessage 图片消息实例。

◆ createFileMessageByUploading()

abstract void io.agora.rtm.RtmClient.createFileMessageByUploading ( @NonNull String  filePath,
RtmRequestId  requestId,
ResultCallback< RtmFileMessage resultCallback 
)
abstract

上传一个文件到 Agora 服务器以获取一个相应的 RtmFileMessage 文件消息实例。

注解
如果你已经有了一个保存在 Agora 服务器上的文件对应的 media ID,你可以调用 createFileMessageByMediaId 创建一个 RtmFileMessage 文件消息实例。
参数
filePath待上传文件在本地的绝对路径。文件路径必须为 UTF-8 编码格式。
requestId标识本次上传请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ createImageMessageByUploading()

abstract void io.agora.rtm.RtmClient.createImageMessageByUploading ( @NonNull String  filePath,
RtmRequestId  requestId,
ResultCallback< RtmImageMessage resultCallback 
)
abstract

上传一个图片到 Agora 服务器以获取一个相应的 RtmImageMessage 图片消息实例。

注解
如果你已经有了一个保存在 Agora 服务器上的图片对应的 media ID,你可以调用 createImageMessageByMediaId 创建一个 RtmImageMessage 图片消息实例。
参数
filePath待上传图片在本地的绝对路径。图片路径必须为 UTF-8 编码格式。
requestId标识本次上传请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ downloadMediaToMemory()

abstract void io.agora.rtm.RtmClient.downloadMediaToMemory ( @NonNull String  mediaId,
RtmRequestId  requestId,
ResultCallback< byte[]>  resultCallback 
)
abstract

通过 media ID 从 Agora 服务器下载文件或图片至本地内存。

注解
  • 该方法适用于需要快速读取下载文件或图片的场景。
  • SDK 会在回调结束后立即释放下载的文件或图片。
参数
mediaId服务器上待下载的文件或图片对应的 media ID。
requestId标识本次下载请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ downloadMediaToFile()

abstract void io.agora.rtm.RtmClient.downloadMediaToFile ( @NonNull String  mediaId,
@NonNull String  filePath,
RtmRequestId  requestId,
ResultCallback< Void >  resultCallback 
)
abstract

通过 media ID 从 Agora 服务器下载文件或图片至本地指定地址。

参数
mediaId服务器上待下载的文件或图片对应的 media ID。
filePath下载文件或图片在本地存储的绝对路径。文件路径必须为 UTF-8 编码格式。
requestId标识本次下载请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ cancelMediaUpload()

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

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

注解
你只能取消一个正在进行中的上传任务。上传任务完成后则无法取消上传任务,因为相应的 request ID 已不再有效。
参数
requestId标识本次上传请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ cancelMediaDownload()

abstract void io.agora.rtm.RtmClient.cancelMediaDownload ( RtmRequestId  requestId,
ResultCallback< Void >  resultCallback 
)
abstract

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

注解
你只能取消一个正在进行中的下载任务。下载任务完成后则无法取消下载任务,因为相应的 request ID 已不再有效。
参数
requestId标识本次下载请求的唯一 ID。
resultCallback
  • 方法调用成功:收到回调 onSuccess
  • 方法调用失败:收到回调 onFailure

◆ sendMessageToPeer() [1/2]

abstract void io.agora.rtm.RtmClient.sendMessageToPeer ( @NonNull String  peerId,
@NonNull RtmMessage  message,
@Nullable ResultCallback< Void >  resultCallback 
)
abstract
注解
我们不推荐使用该方法发送点对点消息。请改用它的重载方法 sendMessageToPeer 发送点对点消息或点对点的离线消息。

发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 180 次。

参数
peerId接收者的用户 ID。
message需要发送的消息。欲了解如何创建消息,请参考 RtmMessage
resultCallback方法调用成功:

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

◆ sendMessageToPeer() [2/2]

abstract void io.agora.rtm.RtmClient.sendMessageToPeer ( @NonNull String  peerId,
@NonNull RtmMessage  message,
@NonNull SendMessageOptions  options,
@Nullable ResultCallback< Void >  resultCallback 
)
abstract

向指定用户发送点对点消息或点对点的离线消息。

该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。

注解
发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 180 次。

本方法可与老信令 SDK 的 endCall 方法兼容。你只需在用本方法发送文本消息时将消息头设为 AGORA_RTM_ENDCALL_PREFIX_<channelId>_<your additional information> 格式即可。请以 endCall 对应频道的 ID 替换 <channelId>, <your additional information> 为附加文本信息。请注意:附加文本信息中不可使用下划线 "_" ,附加文本信息可以设为空字符串 ""。

参数
peerId接收者的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围:
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • 空格
  • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ","
Note peerId 不能设为空、 null ,或 "null"。
message需要发送的消息。欲了解如何创建消息,请参考 RtmMessage
options消息发送选项。详见 SendMessageOptions
resultCallback方法调用成功:

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

◆ createChannel()

abstract RtmChannel io.agora.rtm.RtmClient.createChannel ( @NonNull String  channelId,
@NonNull RtmChannelListener  channelListener 
) throws RuntimeException
abstract

创建一个 Agora RTM 频道。

注解
一个 RtmClient 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请调用 RtmChannel.release() 方法销毁不再使用的 RtmChannel 实例资源。你当然可以调用 RtmClient.release() 方法释放当前 RtmClient 实例的 所有 资源,但是我们 不建议 你依赖 SDK 去释放 RtmChannel 资源。
参数
channelIdAgora RTM 频道名称。该字符串长度在 64 字节以内。以下为支持的字符集范围:
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • 空格
  • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ","
Note channelId 不能设为空、null,或 "null"。
channelListener一个 RtmChannelListener 对象。
  • 方法调用成功:SDK 返回一个 RtmChannel 实例。如果具有相同 channelId 的频道不存在,此方法会返回已创建的频道实例。如果已经存在具有相同 channelId 的频道,此方法会返回已存在的频道实例。
  • 方法调用失败:SDK 返回 null。原因可能是 channelId 无效或频道数量超过限制。
返回
一个 RtmChannel 实例。

◆ getRtmCallManager()

abstract RtmCallManager io.agora.rtm.RtmClient.getRtmCallManager ( )
abstract

获取 RtmCallManager 实例。

每个 RtmClient 实例都有各自唯一的 RtmCallManager 实例。属于不同 RtmClient 实例的 RtmCallManager 实例各不相同。

注解
RtmCallManager 的生命周期随 RtmClient 一同管理,在调用 release 方法后随 RtmClient 一同被销毁。
返回
RtmCallManager 实例。

◆ queryPeersOnlineStatus()

abstract void io.agora.rtm.RtmClient.queryPeersOnlineStatus ( Set< String >  peerIds,
ResultCallback< Map< String, Boolean >>  resultCallback 
)
abstract

查询指定用户的在线状态。

  • 在线:用户已登录到 Agora RTM 系统。
  • 不在线:用户已登出 Agora RTM 系统或因其他原因与 Agora RTM 系统断开连接。
参数
peerIds用户 ID 列表。最多不超过 256 个用户 ID。
resultCallback
  • 方法调用成功:收到一个 onSuccess 回调和一个 Map 对象。Map 的 Key 值为用户 ID, Boolean 值表示在线状态。
  • 方法调用失败:收到一个 onFailure 回调。错误码详见 QueryPeersOnlineStatusError

◆ subscribePeersOnlineStatus()

abstract void io.agora.rtm.RtmClient.subscribePeersOnlineStatus ( Set< String >  peerIds,
ResultCallback< Void >  resultCallback 
)
abstract

订阅指定单个或多个用户的在线状态。

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

Note

  • 用户登出 Agora RTM 系统后,所有之前的订阅内容都会被清空;重新登录后,如需保留之前订阅内容则需重新订阅。
  • SDK 会在网络连接中断时进入断线重连状态。重连成功时 SDK 会自动重新订阅之前订阅用户,无需人为干预。
参数
peerIds用户 ID 列表。最多不超过 512 个用户 ID。
resultCallback

◆ unsubscribePeersOnlineStatus()

abstract void io.agora.rtm.RtmClient.unsubscribePeersOnlineStatus ( Set< String >  peerIds,
ResultCallback< Void >  resultCallback 
)
abstract

退订指定单个或多个用户的在线状态。

参数
peerIds用户 ID 列表。
resultCallback

◆ queryPeersBySubscriptionOption()

abstract void io.agora.rtm.RtmClient.queryPeersBySubscriptionOption ( Integer  option,
ResultCallback< Set< String >>  resultCallback 
)
abstract

获取某特定内容被订阅的用户列表。

参数
option被订阅的类型。详见 PeerSubscriptionOption
resultCallback

◆ renewToken()

abstract void io.agora.rtm.RtmClient.renewToken ( String  token,
ResultCallback< Void >  resultCallback 
)
abstract

更新当前的 RTM Token。

在收到 onTokenExpired 回调时你需要调用此方法更新 Token。该方法的调用频率为 2 次每秒。

参数
token新的 RTM Token。
resultCallback

◆ setLocalUserAttributes()

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

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

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。

参数
attributes待设置的属性。详见 RtmAttribute
resultCallback

◆ addOrUpdateLocalUserAttributes()

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

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

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。

  • 如果属性已存在,该方法更新本地用户的已有属性;
  • 如果属性不存在,该方法增加本地用户的属性。
参数
attributes待增加或更新的属性列表。详见 RtmAttribute
resultCallback

◆ deleteLocalUserAttributesByKeys()

abstract void io.agora.rtm.RtmClient.deleteLocalUserAttributesByKeys ( List< String >  attributeKeys,
ResultCallback< Void >  resultCallback 
)
abstract

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

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。

参数
attributeKeys属性名列表。
resultCallback

◆ clearLocalUserAttributes()

abstract void io.agora.rtm.RtmClient.clearLocalUserAttributes ( ResultCallback< Void >  resultCallback)
abstract

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

setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。

参数
resultCallback

◆ getUserAttributes()

abstract void io.agora.rtm.RtmClient.getUserAttributes ( String  userId,
ResultCallback< List< RtmAttribute >>  resultCallback 
)
abstract

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

getUserAttributesgetUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。

参数
userId指定用户的用户 ID。
resultCallback

◆ getUserAttributesByKeys()

abstract void io.agora.rtm.RtmClient.getUserAttributesByKeys ( String  userId,
List< String >  attributeKeys,
ResultCallback< List< RtmAttribute >>  resultCallback 
)
abstract

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

getUserAttributesgetUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。

参数
userId指定用户的用户 ID。
attributeKeys属性名列表。
resultCallback

◆ setChannelAttributes()

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

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

注解
参数
channelId该指定频道的频道 ID。
attributes频道属性列表。详见 RtmChannelAttribute
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback

◆ addOrUpdateChannelAttributes()

abstract void io.agora.rtm.RtmClient.addOrUpdateChannelAttributes ( String  channelId,
List< RtmChannelAttribute attributes,
ChannelAttributeOptions  option,
ResultCallback< Void >  resultCallback 
)
abstract

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

  • 如果属性已存在,该方法更新该频道的已有属性;
  • 如果属性不存在,该方法增加该频道的属性。
注解
参数
channelId该指定频道的频道 ID。
attributes频道属性列表。详见 RtmChannelAttribute
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback

◆ deleteChannelAttributesByKeys()

abstract void io.agora.rtm.RtmClient.deleteChannelAttributesByKeys ( String  channelId,
List< String >  attributeKeys,
ChannelAttributeOptions  option,
ResultCallback< Void >  resultCallback 
)
abstract

删除某指定频道的指定属性。

注解
参数
channelId该指定频道的频道 ID。
attributeKeys频道属性名列表。
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback

◆ clearChannelAttributes()

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

清空某指定频道的属性。

注解
参数
channelId该指定频道的频道 ID。
option频道属性操作选项。详见 ChannelAttributeOptions
resultCallback

◆ getChannelAttributes()

abstract void io.agora.rtm.RtmClient.getChannelAttributes ( String  channelId,
ResultCallback< List< RtmChannelAttribute >>  resultCallback 
)
abstract

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

注解
参数
channelId该指定频道的频道 ID。
resultCallback

◆ getChannelAttributesByKeys()

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

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

注解
参数
channelId该指定频道的频道 ID。
attributeKeys频道属性名列表。
resultCallback

◆ getChannelMemberCount()

abstract void io.agora.rtm.RtmClient.getChannelMemberCount ( List< String >  channelIds,
ResultCallback< List< RtmChannelMemberCount >>  resultCallback 
)
abstract

查询单个或多个频道的成员人数。

注解
  • 该方法的调用频率上限为每秒 1 次。
  • 不支持一次查询超过 32 个频道的成员人数。
参数
channelIds指定频道名列表。
resultCallback

◆ setParameters()

abstract int io.agora.rtm.RtmClient.setParameters ( String  parameters)
abstract

通过 JSON 配置 SDK 提供技术预览或特别定制功能。

JSON 选项默认不公开。声网工程师正在努力寻求以标准化方式公开 JSON 选项。

参数
parametersJSON 字符串形式的参数。
返回
  • 0:方法调用成功。
  • ≠0:方法调用失败。

◆ setLogFile()

abstract int io.agora.rtm.RtmClient.setLogFile ( String  filePath)
abstract

设定日志文件的默认地址。

参数
filePath日志文件的绝对路径。编码格式为 UTF-8。Android 平台的日志默认路径为 /sdcard/{Package name of the App}/agorartm.log
注解
  • 请确保指定的路径可写。
  • 如需调用本方法,请在调用 createInstance 方法后立即调用,否则会造成输出日志不完整。
返回
  • 0: 方法调用成功;
  • ≠0: 方法调用失败。

◆ setLogFilter()

abstract int io.agora.rtm.RtmClient.setLogFilter ( int  filter)
abstract

设置日志输出等级。

设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING 和 INFO。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。

参数
filter日志输出等级:
返回
  • 0: 方法调用成功;
  • ≠0: 方法调用失败。

◆ setLogFileSize()

abstract int io.agora.rtm.RtmClient.setLogFileSize ( int  fileSizeInKBytes)
abstract

设置 SDK 输出的单个日志文件的大小,单位为 KB。 SDK 设有 2 个大小相同的日志文件。

参数
fileSizeInKBytesSDK 输出的单个日志文件的大小,单位为 KB。默认值为 10240 (KB)。取值范围为 [512 KB, 1 GB]。
返回
  • 0: 方法调用成功;
  • ≠0: 方法调用失败。

◆ getSdkVersion()

static String io.agora.rtm.RtmClient.getSdkVersion ( )
static

获取 Agora RTM SDK 的版本信息。

返回
String 格式的 Agora RTM SDK 的版本信息。比如:1.0.0。

◆ setRtmServiceContext()

static SET_RTM_SERVICE_CONTEXT_ERR_CODE io.agora.rtm.RtmClient.setRtmServiceContext ( RtmServiceContext  context)
static

设置所有 RtmClient 实例的上下文。你在成功调用此方法之后创建的所有 RtmClient 实例都符合此方法设置的上下文。

注解
你必须在调用 createInstance 创建 RtmClient 实例之前或调用 release 方法释放所有 RtmClient 实例之后调用该方法。否则,该方法会返回 SET_RTM_SERVICE_CONTEXT_ERR_FAILURE
参数
contextRtmClient 实例的上下文,包括地理区域限制设置。 参考 RtmServiceContext
返回
SetRtmServiceContextError

类成员变量说明

◆ LOG_FILTER_OFF

final int io.agora.rtm.RtmClient.LOG_FILTER_OFF = 0
static

0: 不输出日志信息。

◆ LOG_FILTER_INFO

final int io.agora.rtm.RtmClient.LOG_FILTER_INFO = 0x0f
static

0x0f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。

◆ LOG_FILTER_WARNING

final int io.agora.rtm.RtmClient.LOG_FILTER_WARNING = 0x0e
static

0x0e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。

◆ LOG_FILTER_ERROR

final int io.agora.rtm.RtmClient.LOG_FILTER_ERROR = 0x0c
static

0x0c: 输出 CRITICAL 和 ERROR 级别的日志信息。

◆ LOG_FILTER_CRITICAL

final int io.agora.rtm.RtmClient.LOG_FILTER_CRITICAL = 0x08
static

0x08: 输出 CRITICAL 级别的日志信息。

◆ AGORA_RTM_END_CALL_PREFIX

final String io.agora.rtm.RtmClient.AGORA_RTM_END_CALL_PREFIX = "AgoraRTMLegacyEndcallCompatibleMessagePrefix"
static

用于结束通话的前缀信息。可与 sendMessageToPeer 方法配合使用来兼容 Agora 老信令系统的 endCall 方法。