首页你可以获取封装 uni 本地插件实例:
vrtmModule = uni.requireNativePlugin('插件名称')
通用错误码
- res.code- -1 :参数错误,请检查参数及参数类型是否正确
- -7 :rtm 未实例化
 
setCallBack()
rtmModule.setCallBack((res) => {
    switch (res.rtmEvent) {
      case "onConnectionStateChanged":  //连接状态回调
        //something
        break;
      case "onPeerMessageReceived": //一对一消息回调
        //something
        break;
        ...
})
注册 sdk 事件回调 。先执行 setCallBack 后,才可以 createInstance 创建对象
返回
- res.rtmEvent:Rtc SDK 事件回调,参考uni-app Rtm 事件回调。
createInstance()
rtmModule.createInstance(
  {
    appId: '',
  },
  (res) => {
    //something
  }
)
创建一个 Rtm 实例。
RTM SDK 支持多个 Rtm 实例。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | appId | anyRTC 为 App 开发者签发的 App ID。每个项目都应该有一个独一无二的 App ID。如果你的开发包里没有 App ID,请从anyRTC 官网申请一个新的 App ID。 | 
返回
- res.code- 0 :创建成功。
- 其他:创建失败或者重复创建。
 
login()
rtmModule.login(
  {
    token: 'token',
    userId: '123',
  },
  (res) => {
    //something
  }
)
登录 RTM 系统。
注解
如果你在不同 SDK 实例中以相同用户 ID 登录,之前登录的用户将被踢出。该方法的最高调用频率限制为 2 次每秒。只有在调用本方法成功登录 RTM 系统后才可以调用 RTM 的核心业务逻辑。
| 参数 | 描述 | |
|---|---|---|
| String | token | 用于登录 RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 ""。 | 
| String | userId | 登录 RTM 系统的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 10 个数字 0-9 空格(如果 userId 包含空格则无法与信令 SDK 互通) "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," | 
返回
- res.code- 0 :登录成功。没有错误
- 1 :登录失败。原因未知
- 2 :登录被服务器拒绝
- 3 :登录参数无效
- 4 :App ID 无效
- 5 :Token 无效
- 6 :Token 已过期,登录被拒绝
- 7 :登录未经授权
- 8 :用户已登录,或正在登录 anyRTC 云平台 RTM 系统,或未调用 logout()
- 9 :登录超时。目前的超时设置为 6 秒
- 10 :登录过于频繁。方法 login() 的调用频率超过 2 次/秒的上限
- 101 :SDK 未完成初始化
 
logout()
rtmModule.logout((res) => {
  //something
})
登出 RTM 系统。
返回
- 
res.code- 0 :登出成功
- 1 :登出被拒绝
- 101 : SDK 未完成初始化
- 102 : 登出 RTM 系统前未调用 login() 方法或者 login() 方法调用未成功
 
release()
rtmModule.release((res) => {
  //something
})
释放当前 Rtm 实例使用的所有资源。
注解
请不要在任何回调中调用该方法。
返回
- res.code- 0 :方法调用成功。
 
sendMessageToPeer()
rtmModule.sendMessageToPeer(
  {
    peerId: this.peerId,
    text: this.ptoPMsg,
    enableHistoricalMessaging: false,
    enableOfflineMessaging: false,
  },
  (ret) => {
    //something
  }
)
向指定用户发送点对点消息或点对点的离线消息。
该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | peerId | 接收者的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 10 个数字 0-9 空格 "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," peerId 不能设为空、 null ,或 "null"。 | 
| String | text | 待设置的文本消息正文或自定义二进制消息的文字描述。最大长度为 32 KB。 | 
| boolean | enableHistoricalMessaging | 是否保存为历史消息: true: 将该消息保存为历史消息。 false: (默认)不将该消息保存为历史消息。 | 
| boolean | enableOfflineMessaging | 是否设置为离线消息: true: 将该消息设为离线消息。 false: (默认)不将该消息设为离线消息。 本设置仅适用于点对点消息,不适用于频道消息。 | 
返回
- res.code- 0 :对端已接收到点对点消息
- 1 :点对点消息发送失败
- 2 :点对点消息发送超时。当前的超时设置为 10 秒
- 3 :接收者处于离线状态,无法接收点对点消息
- 4 :对方不在线,发出的离线点对点消息未被收到。但是服务器已经保存这条消息并将在用户上线后重新发送。
- 5 :发送消息(点对点消息和频道消息一并计算在内)超过 60 次/秒的上限
- 6 :用户 ID 无效
- 7 :消息为 null 或超出 32 KB 的长度限制
- 8 :消息接收方的 SDK 是早期版本,因此无法识别此消息
- 101 : anyRTC 云平台 RTM 服务未完成初始化
- 102 :发送点对点消息前未调用 login() 方法或者 login() 方法调用未成功
 
createChannel()
rtmModule.createChannel(
  {
    channelId: '',
  },
  (ret) => {
    //something
  }
)
创建 RTM 频道。
注解
一个 Rtm 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请调用 channelRelease() 方法销毁不再使用的 RtmChannel 实例资源。你当然可以调用 release() 方法释放当前 Rtm 实例的 所有 资源,但是我们 不建议 你依赖 SDK 去释放 RtmChannel 资源。
| 参数 | 描述 | |
|---|---|---|
| String | channelId | RTM 频道名称。该字符串长度在 64 字节以内。以下为支持的字符集范围: 26 个小写英文字母 a-z 26 个大写英文字母 A-Z 1 0 个数字 0-9 空格 "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", "," channelId 不能设为空、null,或 "null"。 | 
返回
- res.code- 0 :创建频道成功
 
queryPeersOnlineStatus()
rtmModule.queryPeersOnlineStatus(
  {
    peerIds: ['uid1', 'uid2'],
  },
  (res) => {
    //smething
  }
)
查询指定用户的在线状态。
- 在线:用户已登录到 RTM 系统。
- 不在线:用户已登出 RTM 系统或因其他原因与 RTM 系统断开连接。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | peerIds | 用户 ID 列表。 | 
返回
- 
res.code- 0 :查询用户状态成功
- 1 :查询用户状态失败
- 2 :查询参数无效
- 3 :查询被拒绝
- 4 :服务器响应超时。当前的超时设置为 10 秒
- 5 :方法调用过于频繁。超过 10 次每 5 秒的上限
- 101 :SDK 未完成初始化
- 102 :查询指定用户在线状态前未调用 login() 方法或者 login() 方法调用未成功
 
- 
res.peerOnlineStatus:用户在线状态列表- peerId: 用户
- state: 状态- 0 :用户在线
- 1 : 连接状态不稳定(服务器连续 6 秒未收到来自 SDK 的数据包)
- 2 : 用户不在线(用户未登录或已登出 anyRTC 云平台 RTM 系统,或服务器连续 30 秒未收到来自 SDK 的数据包)
 
 
subscribePeersOnlineStatus()
rtmModule.subscribePeersOnlineStatus(
  {
    peerIds: ['uid1', 'uid2'],
  },
  (res) => {
    //smething
  }
)
订阅指定单个或多个用户的在线状态。
- 首次订阅成功后,SDK 会通过 onPeersOnlineStatusChanged 回调返回被订阅用户在线状态。
- 每当被订阅用户在线状态发生变化时,SDK 都会通过 onPeersOnlineStatusChanged 回调通知订阅方。
- 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过 onPeersOnlineStatusChanged 回调通知订阅方。
Note
- 用户登出 RTM 系统后,所有之前的订阅内容都会被清空;重新登录后,如需保留之前订阅内容则需重新订阅。
- SDK 会在网络连接中断时进入断线重连状态。重连成功时 SDK 会自动重新订阅之前订阅用户,无需人为干预。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | peerIds | 指定用户的 ID 列表。 | 
返回
- res.code- 0 :方法调用成功,或订阅退订操作成功
- 1 :通用未知错误。订阅或退订操作失败
- 2 :无效的输入参数
- 3 :订阅或退订被拒绝
- 4 :订阅超时
- 5 :方法调用过于频繁。超过 10 次每 5 秒的限制
- 6 :订阅人数超过 512 人的上限
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
unsubscribePeersOnlineStatus()
rtmModule.unsubscribePeersOnlineStatus(
  {
    peerIds: ['uid1', 'uid2'],
  },
  (res) => {
    //smething
  }
)
退订指定单个或多个用户的在线状态。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | peerIds | 指定用户的 ID 列表。 | 
返回
- res.code- 0 :方法调用成功,或订阅退订操作成功
- 1 :通用未知错误。订阅或退订操作失败
- 2 :无效的输入参数
- 3 :订阅或退订被拒绝
- 4 :订阅超时
- 5 :方法调用过于频繁。超过 10 次每 5 秒的限制
- 6 :订阅人数超过 512 人的上限
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
queryPeersBySubscriptionOption()
rtmModule.queryPeersBySubscriptionOption(
  {
    option: 0,
  },
  (res) => {
    //smething
  }
)
获取某特定内容被订阅的用户列表。
| 类型 | 参数 | 描述 | 
|---|---|---|
| int | option | 被订阅的类型: 0: 订阅指定用户的在线状态。 | 
返回
- res.code- 0 :方法调用成功,或根据订阅类型获取被订阅用户列表成功
- 1 :通用错误。根据订阅类型获取被订阅用户列表失败
- 2 :服务器响应超时。当前的超时设置为 5 秒
- 3 :方法调用过于频繁。超过 10 次每 5 秒的限制
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.options(Array): 被订阅的用户列表 。
setLocalUserAttributes()
rtmModule.setLocalUserAttributes({
    "age":10,
    "name":"anyRtc",
    ...
},(res)=>{
    //smething
})
全量设置本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| JSON | attributes | 待设置的属性:以键值对形式 key:value设置属性。 | 
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
addOrUpdateLocalUserAttributes()
rtmModule.addOrUpdateLocalUserAttributes({
    "age":10,
    "name":"anyRtc",
    ...
},(res)=>{
    //smething
})
添加或更新本地用户的属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
- 如果属性已存在,该方法更新本地用户的已有属性;
- 如果属性不存在,该方法增加本地用户的属性。
| 类型 | 参数 | 描述 | 
|---|---|---|
| JSON | attributes | 待增加或更新的属性列表:以键值对形式 key:value设置属性。 | 
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
deleteLocalUserAttributesByKeys()
rtmModule.deleteLocalUserAttributesByKeys(
  {
    attributeKeys: [],
  },
  (res) => {
    //smething
  }
)
删除本地用户的指定属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次 。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | attributeKeys | 属性名列表。 | 
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
clearLocalUserAttributes()
rtmModule.addOrUpdateLocalUserAttributes((res) => {
  //smething
})
清空本地用户的所有属性。
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
getUserAttributes()
rtmModule.getUserAttributes(
  {
    userId: 'userId',
  },
  (res) => {
    //smething
  }
)
获取指定用户的全部属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | userId | 指定用户的用户 ID。 | 
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.rtmAttributes(Array): 指定用户的全部属性。
getUserAttributesByKeys()
rtmModule.getUserAttributesByKeys(
  {
    userId: 'userId',
    attributeKeys: [],
  },
  (res) => {
    //smething
  }
)
获取指定用户指定属性名的属性。
getUserAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 40 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | userId | 指定用户的用户 ID。 | 
| Array | attributeKeys | 属性名列表。 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.rtmAttributes(Array): 指定用户指定属性名的属性。
setChannelAttributes()
rtmModule.setChannelAttributes(
  {
    channelId: 'channelId',
    enableNoticeMembers: false,
    attributes: {}, //{} ==> JSON 对象
  },
  (res) => {
    //smething
  }
)
全量设置某指定频道的属性。
注解
- 你无需加入指定频道即可为该频道设置频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
| Boolean | enableNoticeMembers | 是否通知所有频道成员本次频道属性变更。该标志位仅对本次 API 调用有效: true: 通知所有频道成员本次频道属性变更。 false: (默认) 不通知所有频道成员本次频道属性变更。 | 
| Array | attributes | 频道属性列表:JSOn 对象形式 key:val设置属性 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
addOrUpdateChannelAttributes()
rtmModule.addOrUpdateChannelAttributes(
  {
    channelId: 'channelId',
    enableNoticeMembers: false,
    attributes: {}, //{} ==> JSON 对象
  },
  (res) => {
    //smething
  }
)
添加或更新某指定频道的属性。
- 如果属性已存在,该方法更新该频道的已有属性;
- 如果属性不存在,该方法增加该频道的属性。
注解
- 你无需加入指定频道即可为该频道更新频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
| Boolean | enableNoticeMembers | 是否通知所有频道成员本次频道属性变更。该标志位仅对本次 API 调用有效: true: 通知所有频道成员本次频道属性变更。 false: (默认) 不通知所有频道成员本次频道属性变更。 | 
| Array | attributes | 频道属性列表:JSOn 对象形式 key:val设置属性 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
deleteChannelAttributesByKeys()
rtmModule.addOrUpdateChannelAttributes(
  {
    channelId: 'channelId',
    attributeKeys: [],
    enableNoticeMembers: false,
  },
  (res) => {
    //smething
  }
)
删除某指定频道的指定属性。
注解
你无需加入指定频道即可为该频道更新频道属性。当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
| Array | attributeKeys | 频道属性名列表。 | 
| Boolean | enableNoticeMembers | 是否通知所有频道成员本次频道属性变更。该标志位仅对本次 API 调用有效: true: 通知所有频道成员本次频道属性变更。 false: (默认) 不通知所有频道成员本次频道属性变更。 | 
返回
- res.code- 0 :方法调用成功
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
clearChannelAttributes()
rtmModule.clearChannelAttributes(
  {
    channelId: 'channelId',
    enableNoticeMembers: false,
  },
  (res) => {
    //smething
  }
)
清空某指定频道的属性。
注解
你无需加入指定频道即可清空该频道属性。setLocalUserAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:调用频率上限为每 5 秒 10 次。
| 参数 | 描述 | |
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
| Boolean | enableNoticeMembers | 是否通知所有频道成员本次频道属性变更。该标志位仅对本次 API 调用有效: true: 通知所有频道成员本次频道属性变更。 false: (默认) 不通知所有频道成员本次频道属性变更。 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
getChannelAttributes()
rtmModule.getChannelAttributes(
  {
    channelId: 'channelId',
  },
  (res) => {
    //smething
  }
)
查询某指定频道的全部属性。
注解
- 你无需加入指定频道即可查询该频道的全部属性。
- getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.rtmChannelAttributes(Array):指定频道的全部属性。
getChannelAttributesByKeys()
rtmModule.getChannelAttributesByKeys(
  {
    channelId: 'channelId',
    attributeKeys: [],
  },
  (res) => {
    //smething
  }
)
查询某指定频道指定属性名的属性。
注解
- 你无需加入指定频道即可查询该频道的属性。
- getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率上限为每 5 秒 10 次。
| 参数 | 描述 | 
|---|---|
| channelId | 该指定频道的频道 ID。 | 
| attributeKeys | 频道属性名列表。 | 
返回
- res.code- 0 :方法调用成功。
- 1 :废弃
- 2 :方法调用失败
- 3 :无效的输入参数
- 4 :本次操作后,用户属性或频道属性超过上限
- 5 :方法调用频率超过限制
- 6 :未找到指定用户。该用户或者处于离线状态或者并不存在
- 7 :属性操作超时。当前的超时设定为 5 秒
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.rtmChannelAttributes(Array):指定频道指定属性名的属性。
getChannelMemberCount()
rtmModule.getChannelMemberCount(
  {
    channelIds: [],
  },
  (res) => {
    //smething
  }
)
查询单个或多个频道的成员人数。
注解
- 该方法的调用频率上限为每秒 1 次。
- 不支持一次查询超过 32 个频道的成员人数。
| 类型 | 参数 | 描述 | 
|---|---|---|
| Array | channelIds | 指定频道名列表。 | 
返回
- res.code- 0 :获取指定频道成员人数成功
- 1 :通用未知错误
- 2 :频道 ID 无效
- 3 :方法调用过于频繁。超过每秒 1 次的限制
- 4 :服务器响应超时。当前的当前的超时设定为 5 秒
- 5 :查询频道数超过 32 条上限。
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
- res.rtmChannelMemberCounts(Array):单个或多个频道的成员人数。
setParameters()
rtmModule.setParameters((res) => {
  //smething
})
通过 JSON 配置 SDK 提供技术预览或特别定制功能。功能有些特殊,使用前可以咨询客服。
参数
咨询客服,使用特定功能。
返回
- 
res.code- 0 :方法调用成功。
 
setLogFile()
rtmModule.setLogFile(
  {
    filePath: '',
  },
  (res) => {
    //smething
  }
)
设定日志文件的默认地址。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | filePath | 日志文件的绝对路径。编码格式为 UTF-8。 | 
注解
- 请确保指定的路径存在并且可写。
- 如需调用本方法,请在调用 createInstance 方法后立即调用,否则会造成输出日志不完整。
返回
- 
res.code- 0 :方法调用成功。
 
setLogFilter()
rtmModule.setLogFilter(
  {
    filter: 0,
  },
  (res) => {
    //smething
  }
)
设置日志输出等级。
设置 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 级别的日志信息。 | 
返回
- 
res.code- 0 :方法调用成功。
 
setLogFileSize()
rtmModule.setLogFileSize(
  {
    fileSizeInKBytes: 0,
  },
  (res) => {
    //smething
  }
)
设置日志文件大小。
设置 SDK 输出日志文件的大小,单位为 KB。 SDK 设有 2 个日志文件,每个文件大小为 512 KB。如果你将 fileSizeInKByte 设置为 1024 KB, SDK 会最多输出 2 MB 的日志文件。
Note:低于 512 KB 或者高于 10 MB 的日志大小设置不会生效。
| 类型 | 参数 | 描述 | 
|---|---|---|
| int | fileSizeInKBytes | 指定 SDK 输出日志文件的大小,单位为 KB。 | 
返回
- 
res.code- 0 :方法调用成功。
 
join()
rtmModule.join(
  {
    channelId: 'channelId',
  },
  (res) => {
    //smething
  }
)
加入频道。
注解
同一用户只能同时加入最多 20 个频道。加入频道超限时用户会收到错误码 JOIN_CHANNEL_ERR_FAILURE(1)。
返回
- 
res.code- 0 :用户成功加入频道
- 1 :用户加入频道失败
- 2 :加入房间被拒绝
- 3 :用户无法加入频道。因为参数无效
- 4 :用户加入频道超时。当前的超时设置为 5 秒
- 5 :同时加入的频道数超过 20 上限
- 6 :用户正在加入频道或已成功加入频道
- 7 :方法调用超过 50 次每 3 秒的上限
- 8 :加入相同频道的频率超过每 5 秒 2 次的上限
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
leave()
rtmModule.leave(
  {
    channelId: 'channelId',
  },
  (res) => {
    //smething
  }
)
离开频道。
返回
- 
res.code- 0 :用户成功离开频道
- 1 :用户离开频道失败
- 2 :离开频道被拒绝
- 3 :用户已不在频道内
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
sendChannelMessage()
rtmModule.sendChannelMessage(
  {
    channelId: 'channelId',
    text: 'Hi anyRtc',
    enableHistoricalMessaging: false,
    enableOfflineMessaging: false,
  },
  (ret) => {
    //something
  }
)
发送频道消息。
注解
对于 RTM SDK for Android Java,发送消息(包括频道消息和点对点消息)的调用频率上限为每 3 秒 180 次。对于 RTM SDK for Linux Java,发送消息(包括频道消息和点对点消息)的调用频率上限为每 3 秒 300 次。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | channelId | 该指定频道的频道 ID。 | 
| String | text | 待设置的文本消息正文或自定义二进制消息的文字描述。最大长度为 32 KB。 | 
| boolean | enableHistoricalMessaging | 是否保存为历史消息: true: 将该消息保存为历史消息。 false: (默认)不将该消息保存为历史消息。 | 
| boolean | enableOfflineMessaging | 是否设置为离线消息: true: 将该消息设为离线消息。 false: (默认)不将该消息设为离线消息。 | 
返回
- 
res.code- 0 :服务端已接收到频道消息
- 1 :频道消息发送失败
- 2 :服务器未收到频道消息或者 SDK 未在 10 秒内收到服务器响应。
- 3 :发送消息(点对点消息和频道消息一并计算在内)超过 60 次/秒的上限
- 4 :消息为 null 或超出 32 KB 的长度限制
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
getMembers()
rtmModule.getMembers(
  {
    channelId: 'channelId',
  },
  (res) => {
    //smething
  }
)
获取频道成员列表。
注解
该方法的调用频率上限为每 2 秒 5 次。
| 参数 | 描述 | 
|---|---|
| channelId | 该指定频道的频道 ID。 | 
返回
- res.code- 0 :方法调用成功。
- 其他:方法调用失败。
 
- res.rtmChannelMembers(Array): 频道成员列表。。
channelRelease()
rtmModule.channelRelease(
  {
    channelId: 'channelId',
  },
  (res) => {
    //smething
  }
)
释放该频道的所有资源。
注解
请不要在任何回调方法中调用该方法。
返回
- 
res.code- 0 :频道成员列表获取成功
- 1 :频道成员列表获取失败
- 2 :获取成员列表被拒绝
- 3 :获取频道内成员列表超时。当前的超时设置为 5 秒
- 4 :方法调用频率超过 5 次每 2 秒的上限
- 5 :用户不在频道内
- 101 :anyRTC 云平台 RTM 服务未完成初始化
- 102 :本次操作前未调用 login() 方法或者 login() 方法调用未成功
 
setCallEventListener()
rtmModule.setCallEventListener()
设置邀请呼叫实例的监听器。
注解
在使用呼叫邀请的方法,必须调用 setCallEventListener 方法,才能使用 sendLocalInvitation 、acceptremoteinvitation、refuseremoteinvitation、cancelLocalInvitation方法
sendLocalInvitation()
rtmModule.sendLocalInvitation(
  {
    calleeId: 'calleeId',
    channelId: 'channelId',
    content: 'xxx',
  },
  (res) => {
    //smething
  }
)
发送呼叫邀请给对方。
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 被呼叫者的 user ID。 | 
| String | channelId | 供主叫设置频道(可选)。 | 
| String | content | 邀请内容。若编码为 UTF-8, content的对应的字节数不得超过 8 KB(可选)。 | 
返回
- 
res.code- 0 :呼叫邀请相关 API 调用成功
- 1 :呼叫邀请相关 API 调用失败:参数错误,比如参数 content 的值超过最大限制长度 8K 字节
- 2 :呼叫邀请相关 API 调用失败:未开始
- 3 :呼叫邀请相关 API 调用结果:已结束
- 4 :呼叫邀请相关 API 调用结果:已接受邀请
- 5 :呼叫邀请相关 API 调用结果:呼叫邀请已发送
 
acceptRemoteInvitation()
rtmModule.acceptRemoteInvitation(
  {
    calleeId: 'calleeId',
    response: 'xxx',
  },
  (res) => {
    //smething
  }
)
接受来自对方的呼叫邀请。
| 参数 | 描述 | |
|---|---|---|
| String | calleeId | 供被叫获取主叫的用户 ID。 | 
| String | response | 邀请响应。若编码为 UTF-8, response的对应的字节数不得超过 8 KB(可选)。 | 
返回
- 
res.code- 0 :呼叫邀请相关 API 调用成功
- 1 :呼叫邀请相关 API 调用失败:参数错误,比如参数 content 的值超过最大限制长度 8K 字节
- 2 :呼叫邀请相关 API 调用失败:未开始
- 3 :呼叫邀请相关 API 调用结果:已结束
- 4 :呼叫邀请相关 API 调用结果:已接受邀请
- 5 :呼叫邀请相关 API 调用结果:呼叫邀请已发送
 
refuseRemoteInvitation()
rtmModule.refuseRemoteInvitation(
  {
    calleeId: 'calleeId',
    response: 'xxx',
  },
  (res) => {
    //smething
  }
)
拒绝来自对方的呼叫邀请。
| 参数 | 描述 | 
|---|---|
| calleeId | 供被叫获取主叫的用户 ID。 | 
| response | 拒绝响应。若编码为 UTF-8, response的对应的字节数不得超过 8 KB(可选)。 | 
返回
- 
res.code- 0 :呼叫邀请相关 API 调用成功
- 1 :呼叫邀请相关 API 调用失败:参数错误,比如参数 content 的值超过最大限制长度 8K 字节
- 2 :呼叫邀请相关 API 调用失败:未开始
- 3 :呼叫邀请相关 API 调用结果:已结束
- 4 :呼叫邀请相关 API 调用结果:已接受邀请
- 5 :呼叫邀请相关 API 调用结果:呼叫邀请已发送。
 
cancelLocalInvitation()
rtmModule.cancelLocalInvitation(
  {
    calleeId: 'calleeId',
    content: 'xxx',
  },
  (res) => {
    //smething
  }
)
取消给对方的呼叫邀请
| 类型 | 参数 | 描述 | 
|---|---|---|
| String | calleeId | 被呼叫者的 user ID。 | 
| String | content | 取消邀请响应。若编码为 UTF-8, response的对应的字节数不得超过 8 KB(可选)。 | 
返回
- 
res.code- 0 :呼叫邀请相关 API 调用成功
- 1 :呼叫邀请相关 API 调用失败:参数错误,比如参数 content 的值超过最大限制长度 8K 字节
- 2 :呼叫邀请相关 API 调用失败:未开始
- 3 :呼叫邀请相关 API 调用结果:已结束
- 4 :呼叫邀请相关 API 调用结果:已接受邀请
- 5 :呼叫邀请相关 API 调用结果:呼叫邀请已发送
 

