首页你可以获取封装 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 调用结果:呼叫邀请已发送