ar云平台 Real-time Messaging (RTM) SDK 提供了稳定可靠、低延时、高并发的全球消息云服务,帮助你快速构建实时场景。
如无特别说明,本页列出的大多数 RTM 核心业务方法都应在调用 loginByToken 方法成功收到 ARtmLoginErrorOk 错误码后调用。
anyRTC RTM SDK 提供以下功能:
- 登录登出
- 点对点消息
- 查询单个或多个用户的在线状态
- 订阅或退订单个或多个指定用户的在线状态
- 用户属性增删改查
- 频道属性增删改查
- 查询单个或多个频道的成员人数
- 加入离开频道相关
- 频道消息
- 获取频道成员列表
- 呼叫邀请管理
- 更新token
- 日志设置与版本查询
- 定制方法
登录登出相关
SDK 与 RTM 服务器的连接状态是 RTM 开发过程需要理解的核心概念,详见:
iOS:连接状态管理。
方法 | 描述 |
---|---|
initWithAppId | 创建并初始化一个 ARtmKit 实例。 |
loginByToken | 登录 ar云平台 RTM系统。 方法调用结果由 ARtmLoginBlock 返回。 错误码详见 ARtmLoginErrorCode 。 |
logoutWithCompletion | 登出 ar云平台 RTM系统。 方法调用结果由 ARtmLogoutBlock 返回。 错误码详见 ARtmLogoutErrorCode。 |
事件 | 描述 |
---|---|
connectionStateChanged | SDK 与 ar云平台 RTM 系统连接状态发生改变回调。 |
点对点消息
方法 | 描述 |
---|---|
initWithText | 创建并初始化一个 ARtmMessage 文本消息实例。 |
sendMessage | 向指定用户发送点对点消息或点对点的离线消息。消息发送选项设置详见 ARtmSendMessageOptions 。 方法调用结果由 ARtmSendPeerMessageBlock 返回。 消息送达对端时,对端收到 messageReceived 回调。 错误码详见 ARtmSendPeerMessageErrorCode 。 |
事件 | 描述 |
---|---|
messageReceived | 收到点对点消息回调。 |
查询用户在线状态
方法 | 描述 |
---|---|
queryPeersOnlineStatus | 查询用户在线状态。 方法调用结果由 ARtmQueryPeersOnlineBlock 返回。 错误码详见 ARtmQueryPeersOnlineErrorCode 。 |
订阅或退订单个或多个指定用户的在线状态
方法 | 描述 |
---|---|
subscribePeersOnlineStatus | 订阅指定单个或多个用户的在线状态。 方法调用结果由 ARtmSubscriptionRequestBlock 返回。 |
unsubscribePeersOnlineStatus | 解除订阅指定单个或多个用户的在线状态。 方法调用结果由 ARtmSubscriptionRequestBlock 返回。 |
queryPeersBySubscriptionOption | 获取某特定内容被订阅的用户列表。 方法调用结果由ARtmQueryPeersBySubscriptionOptionBlock 返回。 订阅类型详见 ARtmPeerSubscriptionOptions 。 错误码详见 ARtmQueryPeersBySubscriptionOptionErrorCode 。 |
事件 | 描述 |
---|---|
PeersOnlineStatusChanged | 被订阅用户在线状态改变回调。 |
用户属性增删改查
方法 | 描述 |
---|---|
setLocalUserAttributes | 全量设置本地用户的属性。 方法调用结果由 ARtmSetLocalUserAttributesBlock 返回。 |
addOrUpdateLocalUserAttributes | 添加或更新本地用户的属性。 方法调用结果由 ARtmAddOrUpdateLocalUserAttributesBlock 返回。 |
deleteLocalUserAttributesByKeys | 删除本地用户的指定属性。 方法调用结果由 ARtmDeleteLocalUserAttributesBlock 返回。 |
clearLocalUserAttributesWithCompletion | 清空本地用户的属性。 方法调用结果由 ARtmClearLocalUserAttributesBlock 返回。 |
getUserAllAttributes | 获取指定用户的全部属性。方法调用结果由 ARtmGetUserAttributesBlock 返回。 |
getUserAttributesByKeys | 获取指定用户指定属性名的属性。 方法调用结果由 ARtmGetUserAttributesBlock 返回。 |
频道属性增删改查
方法 | 描述 |
---|---|
setChannelAttributes | 全量设置某指定频道的属性。 方法调用结果由 ARtmSetChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
addOrUpdateChannelAttributes | 添加或更新某指定频道的属性。 方法调用结果由 ARtmAddOrUpdateChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
deleteChannelAttributesByKeys | 删除某指定频道的指定属性。 方法调用结果由 ARtmDeleteChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
clearChannel | 清空某指定频道的属性。 方法调用结果由 ARtmClearChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
getChannelAllAttributes | 查询某指定频道的全部属性。 方法调用结果由 ARtmGetChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
getChannelAttributesByKeys | 查询某指定频道指定属性名的属性。 方法调用结果由 ARtmGetChannelAttributesBlock 返回。 错误码详见 ARtmProcessAttributeErrorCode 。 |
频道属性更新事件 | 描述 |
---|---|
attributeUpdate | 当频道属性更新时返回当前频道的所有属性。 启用方法详见 enableNotificationToChannelMembers 。 |
查询单个或多个频道的成员人数
方法 | 功能 |
---|---|
getChannelMemberCount | 查询单个或多个频道的成员人数。 用户无需加入指定频道即可调用该方法。 方法调用结果由 ARtmChannelMemberCountBlock 返回。 |
加入离开频道相关
方法 | 描述 |
---|---|
createChannelWithId | 创建一个 ARtmChannel 频道。 |
joinWithCompletion | 加入频道。方法调用结果由 ARtmJoinChannelBlock 返回。 加入频道成功后,频道内所有成员收到 memberJoined 回调。 |
leaveWithCompletion | 离开频道。 方法调用结果由 ARtmLeaveChannelBlock 返回。 离开频道成功后,频道内所有成员收到 memberLeft 回调。 |
destroyChannelWithId | 释放一个 ARtmChannel 本地频道实例占用的资源。 |
事件 | 描述 |
---|---|
memberJoined | 远端用户加入频道回调。 |
memberLeft | 远端频道成员离开频道回调。 |
memberCount | 频道成员人数更新回调。返回最新频道成员人数。 |
频道消息
方法 | 描述 |
---|---|
initWithText | 创建一个 ARtmMessage 消息实例。 |
sendMessage | 供频道成员向所在频道发送频道消息。 方法调用结果由 ARtmSendChannelMessageBlock 返回。 消息送达后,频道内其他成员收到 messageReceived 回调。 |
事件 | 描述 |
---|---|
messageReceived | 收到频道消息回调。 |
获取频道成员列表
方法 | 功能 |
---|---|
getMembersWithCompletion | 获取当前频道内成员列表。方法调用结果由 ARtmGetMembersBlock 返回。 |
呼叫邀请管理
呼叫管理器获取方法 | 描述 |
---|---|
getRtmCallKit | 获取 ARtmCallKit 呼叫管理器实例。 |
供主叫调用的方法 | 描述 |
---|---|
initWithCalleeId | 供主叫创建、管理一个 ARtmLocalInvitation 呼叫邀请对象。 |
sendLocalInvitation | 供主叫发送呼叫邀请给对端。 方法调用结果由 ARtmLocalInvitationSendBlock 返回。 错误码详见 ARtmInvitationApiCallErrorCode 。 |
cancelLocalInvitation | 供主叫取消已发送的呼叫邀请。 方法调用结果由 ARtmLocalInvitationCancelBlock 返回。 错误码详见 ARtmInvitationApiCallErrorCode 。 |
供被叫调用的方法 | 描述 |
---|---|
acceptRemoteInvitation | 供被叫接受呼叫邀请。 方法调用结果由 ARtmRemoteInvitationAcceptBlock 返回。 错误码详见 ARtmInvitationApiCallErrorCode 。 |
refuseRemoteInvitation | 供被叫拒绝呼叫邀请。 方法调用结果由 ARtmRemoteInvitationRefuseBlock 返回。 错误码详见 ARtmInvitationApiCallErrorCode 。 |
返回给主叫的事件 | 描述 |
---|---|
localInvitationReceivedByPeer | 返回给主叫的回调:被叫已收到呼叫邀请。 |
localInvitationCanceled | 返回给主叫的回调:呼叫邀请已被取消。 |
localInvitationAccepted | 返回给主叫的回调:被叫已接受呼叫邀请。 |
localInvitationRefused | 返回给主叫的回调:被叫已拒绝呼叫邀请。 |
localInvitationFailure | 返回给主叫的回调:呼叫邀请过程失败。错误码详见 ARtmLocalInvitationErrorCode 。 |
返回给被叫的事件 | 描述 |
---|---|
remoteInvitationReceived | 返回给被叫的回调:收到一个呼叫邀请。SDK 会同时返回一个 ARtmRemoteInvitation 对象供被叫管理。 |
remoteInvitationCanceled | 返回给被叫的回调:主叫已取消呼叫邀请。 |
remoteInvitationAccepted | 返回给被叫的回调:接受呼叫邀请成功。 |
remoteInvitationRefused | 返回给被叫的回调:拒绝呼叫邀请成功。 |
remoteInvitationFailure | 返回给被叫的回调:呼叫邀请过程失败。错误码详见 ARtmRemoteInvitationErrorCode 。 |
更新token
方法 | 描述 |
---|---|
renewToken | 更新当前的 RTM Token。 方法调用结果由 ARtmRenewTokenBlock 返回。 错误码详见 ARtmRenewTokenErrorCode 。 |
事件 | 描述 |
---|---|
rtmKitTokenDidExpire: | (SDK 断线重连时触发)当前使用的 RTM Token 已超过 24 小时的签发有效期。 |
日志设置与版本查询
- 日志相关操作在调用 initWithAppId 方法创建并初始化 ARtmKit 实例后即可进行,无需等到调用 loginByToken 方法成功。
- 版本查询操作为静态方法,可在创建并初始化 ARtmKit 实例前进行。
方法 | 描述 |
---|---|
setLogFile | 设定日志文件的默认地址。 |
setLogFileSize | 设置日志文件大小。 |
setLogFilters | 设置日志输出等级。 |
getSDKVersion | 获取 ar云平台 RTM SDK 的版本信息。 |
定制方法
方法 | 描述 |
---|---|
setParameters | 通过 JSON 配置 SDK 提供技术预览或特别定制功能。 |
状态码
ARtmConnectionState
SDK 与 ar云平台 RTM 系统的连接状态。
状态码 | 描述 |
---|---|
ARtmConnectionStateDisconnected | 1: 初始状态。SDK 未连接到 ar云平台 RTM 系统。App 调用 loginByToken 方法后,SDK 开始登录 ar云平台 RTM 系统,触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnecting 。 |
ARtmConnectionStateConnecting | 2: SDK 正在登录 ar云平台 RTM 系统。 如果 SDK 登录成功,会触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnected 。 如果 SDK 登录失败,会触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateDisconnected 。 |
ARtmConnectionStateConnected | 3: SDK 已登录 ar云平台 RTM 系统。 如果 SDK 由于网络原因断开与 ar云平台 RTM 系统的连接,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateReconnecting 。 如果 SDK 由于重复登录而被服务器踢出,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateAborted 。 如果 App 调用 logoutWithCompletion 方法成功登出系统,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateDisConnected 。s |
ARtmConnectionStateReconnecting | 4: SDK 与 ar云平台 RTM 系统连接由于网络原因出现中断,SDK 正在尝试自动重连 ar云平台 RTM 系统。 如果 SDK 登录成功,SDK 触发 connectionStateChanged 回调,连接状态变为 ARtmConnectionStateConnected 。SDK会自动加入中断时用户所在频道,并自动将本地用户属性同步到服务端。 如果 SDK 登录失败,SDK 会保持 ARtmConnectionStateReConnecting 状态,继续自动重连。 |
ARtmConnectionStateAborte | 5: SDK 放弃登录 ar云平台 RTM 系统。可能原因:另一实例已经以同一用户 ID 登录 ar云平台 RTM 系统。在此之后,SDK 需要调用 logoutWithCompletion 方法退出登录,再视情况调用 loginByToken 方法重新登录系统。 |
ARtmConnectionChangeReason
SDK 与 ar云平台 RTM 系统的连接状态发生改变的原因。
状态码 | 描述 |
---|---|
ARtmConnectionChangeReasonLogin | 1: SDK 正在登录 ar云平台 RTM 系统。 |
ARtmConnectionChangeReasonLoginSuccess | 2: SDK 成功登录 ar云平台 RTM 系统。 |
ARtmConnectionChangeReasonLoginFailure | 3: SDK 登录失败。 |
ARtmConnectionChangeReasonLoginTimeout | 4: SDK 未在 6 秒内登录 ar云平台 RTM 系统,登录超时。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmConnectionChangeReasonInterrupted | 5: SDK 和 ar云平台 RTM 系统的连接由于网络问题而断开超过 4 秒。 |
ARtmConnectionChangeReasonLogout | 6: 用户已调用 logoutWithCompletion 方法登出 ar云平台 RTM 系统。 |
ARtmConnectionChangeReasonBannedByServer | 7: 登录被 ar云平台 RTM 服务器禁止。 |
ARtmConnectionChangeReasonRemoteLogin | 8: 本账号异地登陆,本地断开连接。 |
ARtmMessageType
消息类别。
状态码 | 描述 |
---|---|
ARtmMessageTypeUndefined | 0: 未定义的消息类别。 |
ARtmMessageTypeText | 1: 文本消息。 |
ARtmPeerSubscriptionOptions
订阅类型。
状态码 | 描述 |
---|---|
ARtmPeerSubscriptionOnlineStatus | 0: 订阅指定用户的在线状态。 |
ARtmPeerOnlineState
用户在线状态类型。
状态码 | 描述 |
---|---|
ARtmPeerOnlineStateOnline | 0: 用户在线。 |
ARtmPeerOnlineStateUnreachable | 1: 连接状态不稳定(服务器连续 6 秒未收到来自 SDK 的数据包)。 |
ARtmPeerOnlineStateOffline | 2: 用户不在线(用户未登录或已登出 ar云平台 RTM 系统,或服务器连续 30 秒未收到来自 SDK 的数据包)。 |
ARtmLocalInvitationState
返回给主叫的呼叫邀请状态码。
状态码 | 描述 |
---|---|
ARtmLocalInvitationStateIdle | 0: 返回给主叫的呼叫邀请状态码:初始状态。 |
ARtmLocalInvitationStateSentToRemote | 1:仅供内部使用。 |
ARtmLocalInvitationStateReceivedByRemote | 2:返回给主叫的呼叫邀请状态码:被叫已收到呼叫邀请。 |
ARtmLocalInvitationStateAcceptedByRemote | 3:返回给主叫的呼叫邀请状态码:被叫已接受呼叫邀请。 |
ARtmLocalInvitationStateRefusedByRemote | 4:返回给主叫的呼叫邀请状态码:被叫已拒绝呼叫邀请。 |
ARtmLocalInvitationStateCanceled | 5:返回给主叫的呼叫邀请状态码:已成功取消呼叫邀请。 |
ARtmLocalInvitationStateFailure | 6:返回给主叫的呼叫邀请状态码:呼叫邀请过程失败。 |
ARtmRemoteInvitationState
返回给被叫的呼叫邀请状态码。
状态码 | 描述 |
---|---|
ARtmRemoteInvitationStateIdle | 0:返回给被叫的呼叫邀请状态码:被叫收到的邀请的初始状态。 |
ARtmRemoteInvitationStateInvitationReceived | 1:返回给被叫的呼叫邀请状态码:收到了来自主叫的呼叫邀请。 |
ARtmRemoteInvitationStateAcceptSentToLocal | 2:仅供内部使用。 |
ARtmRemoteInvitationStateRefused | 3:返回给被叫的呼叫邀请状态码:已拒绝来自主叫的呼叫邀请。 |
ARtmRemoteInvitationStateAccepted | 4:返回给被叫的呼叫邀请状态码:已接受来自主叫的呼叫邀请。 |
ARtmRemoteInvitationStateCanceled | 5:返回给被叫的呼叫邀请状态码:主叫已取消呼叫邀请。 |
ARtmRemoteInvitationStateFailure | 6:返回给被叫的呼叫邀请状态码:呼叫邀请过程失败。 |
ARtmLogFilter
日志输出等级。
状态码 | 描述 |
---|---|
ARtmLogFilterOff | 0: 不输出日志信息。 |
ARtmLogFilterInfo | 0x000f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。 |
ARtmLogFilterWarn | 0x000e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。 |
ARtmLogFilterError | 0x000c: 输出 CRITICAL 和 ERROR 级别的日志信息。 |
ARtmLogFilterCritical | 0x0008: 输出 CRITICAL 级别的日志信息。 |
ARtmLogFilterMask | 0x80f: 预留 |
错误码
ARtmChannelMemberCountErrorCode
查询单个或多个指定频道成员人数的相关错误码。
错误码 | 描述 |
---|---|
ARtmChannelMemberCountErrorOk | 0: 获取指定频道成员人数成功。 |
ARtmChannelMemberCountErrorFailure | 1: 通用未知错误。 |
ARtmChannelMemberCountErrorInvalidArgument | 2: 频道 ID 无效 |
ARtmChannelMemberCountErrorTooOften | 3: 方法调用过于频繁。超过每秒 1 次的限制。 |
ARtmChannelMemberCountErrorTimeout | 4: 服务器响应超时。当前的当前的超时设定为 5 秒。 |
ARtmChannelMemberCountErrorExceedLimit | 5: 查询频道数超过 32 条上限。 |
ARtmChannelMemberCountErrorNotInitialized | 101: ar云平台 RTM 服务未完成初始化。 |
ARtmChannelMemberCountErrorNotLoggedIn | 102: 本次操作前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmGetMembersErrorCode
获取频道成员列表的相关错误码。
错误码 | 描述 |
---|---|
ARtmGetMembersErrorOk | 0: 频道成员列表获取成功。 |
ARtmGetMembersErrorFailure | 1: 频道成员列表获取失败。 |
ARtmGetMembersErrorRejected | 2: 预留错误码 |
ARtmGetMembersErrorTimeout | 3: 获取频道内成员列表超时。当前的超时设置为 5 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmGetMembersErrorTooOften | 4: 方法调用频率超过 5 次每 2 秒的上限。 |
ARtmGetMembersErrorNotInChannel | 5: 用户不在频道内。 |
ARtmGetMembersErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmGetMembersErrorNotLoggedIn | 102: 获取频道成员列表前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmInvitationApiCallErrorCode
呼叫邀请的相关 API 调用的错误码。
错误码 | 描述 |
---|---|
ARtmInvitationApiCallErrorOk | 0:呼叫邀请相关 API 调用成功。 |
ARtmInvitationApiCallErrorInvalidAugment | 1:呼叫邀请相关 API 调用失败:参数错误。 |
ARtmInvitationApiCallErrorNotStarted | 2:呼叫邀请相关 API 调用失败:未开始。 |
ARtmInvitationApiCallErrorAlreadyEnd | 3:呼叫邀请相关 API 调用结果:已结束。 |
ARtmInvitationApiCallErrorAlreadyAccept | 4:呼叫邀请相关 API 调用结果:已接受邀请。 |
ARtmInvitationApiCallErrorAlreadySent | 5:呼叫邀请相关 API 调用结果:呼叫邀请已发送。 |
ARtmJoinChannelErrorCode
用户加入频道相关错误码。
错误码 | 描述 |
---|---|
ARtmJoinChannelErrorOk | 0: 用户成功加入频道。 |
ARtmJoinChannelErrorFailure | 1: 用户加入频道失败。 |
ARtmJoinChannelErrorRejected | 2: 预留错误码 |
ARtmJoinChannelErrorInvalidArgument | 3: 用户无法加入频道。因为参数无效。 |
ARtmJoinChannelErrorTimeout | 4: 用户加入频道超时。当前的超时设置为 5 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmJoinChannelErrorExceedLimit | 5: 同时加入的频道数超过 20 上限。 |
ARtmJoinChannelErrorAlreadyJoined | 6: 用户正在加入频道或已成功加入频道。 |
ARtmJoinChannelErrorTooOften | 7: 方法调用超过 50 次每 3 秒的上限。 |
ARtmJoinSameChannelErrorTooOften | 8: 加入相同频道的频率超过每 5 秒 2 次的上限。 |
ARtmJoinChannelErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmJoinChannelErrorNotLoggedIn | 102: 用户加入频道前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmLeaveChannelErrorCode
用户离开频道相关错误码。
错误码 | 描述 |
---|---|
ARtmLeaveChannelErrorOk | 0: 用户成功离开频道。 |
ARtmLeaveChannelErrorFailure | 1: 用户离开频道失败。 |
ARtmLeaveChannelErrorRejected | 2: 预留错误码 |
ARtmLeaveChannelErrorNotInChannel | 3: 用户已不在频道内。 |
ARtmLeaveChannelErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmLeaveChannelErrorNotLoggedIn | 102: 用户在离开频道前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmLoginErrorCode
登录相关错误码。
错误码 | 描述 |
---|---|
ARtmLoginErrorOk | 0: 登录成功。没有错误。 |
ARtmLoginErrorUnknown | 1: 登录失败。原因未知。 |
ARtmLoginErrorRejected | 2: 预留错误码 |
ARtmLoginErrorInvalidArgument | 3: 登录参数无效。 |
ARtmLoginErrorInvalidAppId | 4: App ID 无效。 |
ARtmLoginErrorInvalidToken | 5: Token 无效。 |
ARtmLoginErrorTokenExpired | 6: Token 已过期,登录被拒绝。 |
ARtmLoginErrorNotAuthorized | 7: 登录未经授权。 |
ARtmLoginErrorAlreadyLogin | 8: 用户已登录,或正在登录 ar云平台 RTM 系统,或未调用 logoutWithCompletion 方法退出 ARtmConnectionStateAborted 状态。 |
ARtmLoginErrorTimeout | 9: 登录超时。目前的超时设置为 6 秒。 |
ARtmLoginErrorLoginTooOften | 10: 登录过于频繁。方法 loginByToken 的调用频率超过 2 次/秒的上限。 |
ARtmLoginErrorLoginNotInitialized | 101: SDK 未完成初始化。 |
ARtmLogoutErrorCode
登出错误码。
错误码 | 描述 |
---|---|
ARtmLogoutErrorOk | 0: 登出成功。 |
ARtmLogoutErrorRejected | 1: 预留错误码 |
ARtmLogoutErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmLogoutErrorNotLoggedIn | 102: 登出 ar云平台 RTM 系统前未调用 loginByToken 方法或者 [loginByToken 方法调用未成功。 |
ARtmPeerSubscriptionStatusErrorCode
订阅或退订指定用户状态相关错误码。
错误码 | 描述 |
---|---|
ARtmPeerSubscriptionStatusErrorOk | 0: 方法调用成功,或订阅退订操作成功。 |
ARtmPeerSubscriptionStatusErrorFailure | 1: 通用未知错误。订阅或退订操作失败。 |
ARtmPeerSubscriptionStatusErrorInvalidArgument | 2: 无效的输入参数。 |
ARtmPeerSubscriptionStatusErrorRejected | 3: 预留错误码 |
ARtmPeerSubscriptionStatusErrorTimeout | 4: 服务器响应超时。当前的超时设置为 10 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmPeerSubscriptionStatusErrorTooOften | 5: 方法调用过于频繁。超过 10 次每 5 秒的限制。 |
PEER_SUBSCRIPTION_STATUS_ERR_OVERFLOW | 6: 订阅人数超过 512 人的上限。 |
ARtmPeerSubscriptionStatusErrorNotInitialized | 101: ar云平台 RTM 服务未完成初始化。 |
ARtmPeerSubscriptionStatusErrorNotLoggedIn | 102: 本次操作前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmProcessAttributeErrorCode
属性操作相关错误码。
错误码 | 描述 |
---|---|
ARtmAttributeOperationErrorOk | 0: 方法调用成功。 |
ARtmAttributeOperationErrorNotReady | 1: DEPRECATED |
ARtmAttributeOperationErrorFailure | 2: 方法调用失败。 |
ARtmAttributeOperationErrorInvalidArgument | 3: 无效的输入参数。 |
ARtmAttributeOperationErrorSizeOverflow | 4: 本次操作后,用户属性或频道属性超过上限。 用户属性操作:在本次属性操作后,用户属性总大小超过 16 KB 长度限制,或单条用户属性超过 8 KB 长度限制,或用户属性个数超过 32 个的条目上限。 频道属性操作:在本次属性操作后,频道属性总大小超过 32 KB 长度限制,或单条频道属性超过 8 KB 长度限制,或频道属性个数超过 32 个的条目上限。 |
ARtmAttributeOperationErrorTooOften | 5: 方法调用频率超过限制。setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributesWithCompletion 一并计算在内:调用频率限制为每 5 秒 10 次。getUserAllAttributes 和 getUserAttributesByKeys 一并计算在内:调用频率限制为每 5 秒 40 次。setChannelAttributes 、 addOrUpdateChannelAttributes 、deleteChannelAttributesByKeys ,和 clearChannel一并计算在内:调用频率限制为每 5 秒 10 次。getChannelAllAttributes 和 getChannelAttributesByKeys 一并计算在内:调用频率限制为每 5 秒 10 次。 |
ARtmAttributeOperationErrorUserNotFound | 6: 未找到指定用户。该用户或者处于离线状态或者并不存在。 |
ARtmAttributeOperationErrorTimeout | 7: 属性操作超时。当前的超时设定为 5 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmAttributeOperationErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmAttributeOperationErrorNotLoggedIn | 102: 执行用户属性操作前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmQueryPeersBySubscriptionOptionErrorCode
根据订阅类型获取被订阅用户列表相关的错误码。
错误码 | 描述 |
---|---|
ARtmQueryPeersBySubscriptionOptionErrorOk | 0: 方法调用成功,或根据订阅类型获取被订阅用户列表成功。 |
ARtmQueryPeersBySubscriptionOptionErrorFailure | 1: 通用错误。根据订阅类型获取被订阅用户列表失败。 |
ARtmQueryPeersBySubscriptionOptionErrorTimeout | 2: 服务器响应超时。当前的超时设置为 5 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmQueryPeersBySubscriptionOptionErrorTooOften | 3: 方法调用过于频繁。超过 10 次每 5 秒的限制。 |
ARtmQueryPeersBySubscriptionOptionErrorNotInitialized | 101: ar云平台 RTM 服务未完成初始化。 |
ARtmQueryPeersBySubscriptionOptionErrorNotLoggedIn | 102: 本次操作前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmQueryPeersOnlineErrorCode
查询在线状态相关错误码。
错误码 | 描述 |
---|---|
ARtmQueryPeersOnlineErrorOk | 0:查询用户状态成功。 |
ARtmQueryPeersOnlineErrorFailure | 1:查询用户状态失败。 |
ARtmQueryPeersOnlineErrorInvalidArgument | 2:查询参数无效。 |
ARtmQueryPeersOnlineErrorRejected | 3:预留错误码 |
ARtmQueryPeersOnlineErrorTimeout | 4:服务器响应超时。当前的超时设置为 10 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmQueryPeersOnlineErrorTooOften | 5:方法调用过于频繁。超过 10 次每 5 秒的上限。 |
ARtmQueryPeersOnlineErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmQueryPeersOnlineErrorNotLoggedIn | 102: 查询指定用户在线状态前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmLocalInvitationErrorCode
返回给主叫的呼叫邀请错误码。
错误码 | 描述 |
---|---|
ARtmLocalInvitationErrorOk | 0:返回给主叫的呼叫邀请错误码:呼叫邀请成功。 |
ARtmLocalInvitationErrorRemoteOffline | 1:返回给主叫的呼叫邀请错误码:被叫不在线。SDK 会在被叫不在线时不断重发呼叫邀请。若消息发送 30 秒后被叫仍未上线,SDK 会返回此错误码。 |
ARtmLocalInvitationErrorRemoteNoResponse | 2:返回给主叫的呼叫邀请错误码:被叫在呼叫邀请发出后 30 秒无 ACK 响应。 |
ARtmLocalInvitationErrorExpire | 3:返回给主叫的呼叫邀请错误码:呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒时,呼叫邀请仍未被取消、接受、拒绝,则呼叫邀请过期。 |
ARtmLocalInvitationErrorNotLoggedIn | 4: 返回给主叫的呼叫邀请错误码:主叫未登录。 |
ARtmRemoteInvitationErrorCode
返回给被叫的呼叫邀请错误码。
错误码 | 描述 |
---|---|
ARtmRemoteInvitationErrorOk | 0:返回给被叫的呼叫邀请错误码:呼叫邀请成功。 |
ARtmRemoteInvitationErrorLocalOffline | 1:返回给被叫的呼叫邀请错误码:被叫不在线,呼叫邀请失败。 |
ARtmRemoteInvitationErrorAcceptFailure | 2:返回给被叫的呼叫邀请错误码:呼叫邀请过程失败。 |
ARtmRemoteInvitationErrorExpire | 3:返回给被叫的呼叫邀请错误码:呼叫邀请过期。被叫 ACK 响应呼叫邀请后 60 秒呼叫邀请未被取消、接受、拒绝,则呼叫邀请过期。 |
ARtmRenewTokenErrorCode
更新 token 相关错误码。
错误码 | 描述 |
---|---|
ARtmRenewTokenErrorOk | 0:更新 Token 成功。 |
ARtmRenewTokenErrorFailure | 1:更新 Token 失败。 |
ARtmRenewTokenErrorInvalidArgument | 2:无效参数。 |
ARtmRenewTokenErrorRejected | 3:预留错误码 |
ARtmRenewTokenErrorTooOften | 4:方法调用过于频繁。超过 2 次/秒上限。 |
ARtmRenewTokenErrorTokenExpired | 5:输入 Token 已过期。 |
ARtmRenewTokenErrorInvalidToken | 6:输入 Token 无效。 |
ARtmRenewTokenErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmRenewTokenErrorNotLoggedIn | 102: 更新 Token 前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmSendChannelMessageErrorCode
频道消息发送相关错误码。
错误码 | 描述 |
---|---|
ARtmSendChannelMessageErrorOk | 0: 服务端已接收到频道消息。 |
ARtmSendChannelMessageErrorFailure | 1: 频道消息发送失败。 |
ARtmSendChannelMessageErrorTimeout | 2: 服务器未收到频道消息或者 SDK 未在 10 秒内收到服务器响应。当前的超时设置为 10 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmSendChannelMessageTooOften | 3: 发送消息(点对点消息和频道消息一并计算在内)超过 60 次/秒的上限。 |
ARtmSendChannelMessageInvalidMessage | 4: 消息为 null 或超出 32 KB 的长度限制。 |
ARtmSendChannelMessageErrorNotInitialized | 101: SDK 未完成初始化。 |
ARtmSendChannelMessageNotLoggedIn | 102: 发送频道消息前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |
ARtmSendPeerMessageErrorCode
发送点对点消息的相关错误码。
错误码 | 描述 |
---|---|
ARtmSendPeerMessageErrorOk | 0: 对端已接收到点对点消息。 |
ARtmSendPeerMessageErrorFailure | 1: 点对点消息发送失败。 |
ARtmSendPeerMessageErrorTimeout | 2: 点对点消息发送超时。当前的超时设置为 10 秒。可能原因:用户正处于 ARtmConnectionStateAborted 状态或 ARtmConnectionStateReconnecting 状态。 |
ARtmSendPeerMessageErrorPeerUnreachable | 3: 接收者处于离线状态,无法接收点对点消息。 |
ARtmSendPeerMessageErrorCachedByServer | 4: 对方不在线,发出的离线点对点消息未被收到。但是服务器已经缓存这条消息并将在用户上线后重新发送。 |
ARtmSendPeerMessageErrorTooOften | 5: 发送消息(点对点消息和频道消息一并计算在内)超过 60 次/秒的上限。 |
ARtmSendPeerMessageErrorInvalidUserId | 6: 用户 ID 无效。 |
ARtmSendPeerMessageErrorInvalidMessage | 7: 消息为 null 或超出 32 KB 的长度限制。 |
ARtmSendPeerMessageErrorNotInitialized | 101: ar云平台 RTM 服务未完成初始化。 |
ARtmSendPeerMessageErrorNotLoggedIn | 102: 发送点对点消息前未调用 loginByToken 方法或者 loginByToken 方法调用未成功。 |