API

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

ar云平台 Real-time Messaging (RTM) SDK 提供了稳定可靠、低延时、高并发的全球消息云服务,帮助你快速构建实时场景。

如无特别说明,本页列出的大多数 RTM 核心业务方法都应在调用 login 方法成功收到 onLoginSuccess 回到 后调用。

anyRTC RTM SDK 提供以下功能:

登录登出相关

SDK 与 RTM 服务器的连接状态是 RTM 开发过程需要理解的核心概念。

方法描述
createRtmService创建并返回一个 IRtmService 实例。
initialize初始化 IRtmService 实例。
login登录 anyRTC RTM 系统。
logout登出 anyRTC RTM 系统。
release释放当前 IRtmService 实例使用的所有资源。
事件描述
onLoginSuccess登录 anyRTC RTM 系统成功回调。
onLoginFailure登录 anyRTC RTM 系统失败回调。
onLogout登出 anyRTC RTM 系统回调。
onConnectionStateChangedSDK 与 anyRTC RTM 系统连接状态发生改变回调。

点对点消息

方法描述
createMessage创建并返回一个空文本 IMessage 消息实例。
createMessage创建并返回一个文本 IMessage 消息实例。
createMessage创建并返回一个自定义二进制 IMessage 消息实例。
createMessage创建并返回一个包含文字描述的自定义二进制 IMessage 消息实例。
sendMessageToPeer向指定用户发送点对点消息或点对点的离线消息。
release释放当前 IMessage 实例使用的所有资源。
事件描述
onSendMessageResult报告 sendMessageToPeersendMessageToPeer(const char *peerId, const IMessage *message, const SendMessageOptions &options) 方法的调用结果。
onMessageReceivedFromPeer收到来自对端的点对点消息回调。

查询单个或多个用户的在线状态

方法描述
queryPeersOnlineStatus查询单个或多个指定用户的在线状态。
事件描述
onQueryPeersOnlineStatusResult报告 queryPeersOnlineStatus 方法的调用结果。

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

方法描述
subscribePeersOnlineStatus订阅指定单个或多个用户的在线状态。
unsubscribePeersOnlineStatus取消订阅指定单个或多个用户的在线状态。
queryPeersBySubscriptionOption获取某特定内容被订阅的用户列表。
事件描述
onSubscriptionRequestResult报告 subscribePeersOnlineStatusunsubscribePeersOnlineStatus 方法的调用结果。
onPeersOnlineStatusChanged被订阅用户在线状态改变回调。
onQueryPeersBySubscriptionOptionResult报告 queryPeersBySubscriptionOption 方法的调用结果。

用户属性增删改查

方法描述
setLocalUserAttributes全量设置本地用户的属性。
addOrUpdateLocalUserAttributes添加或更新本地用户的属性。
deleteLocalUserAttributesByKeys删除本地用户的指定属性。
clearLocalUserAttributes清空本地用户的属性。
getUserAttributes查询指定用户的全部属性。
getUserAttributesByKeys查询指定用户指定属性名的属性。
事件描述
onSetLocalUserAttributesResult报告 setLocalUserAttributes 方法的调用结果。
onAddOrUpdateLocalUserAttributesResult报告 addOrUpdateLocalUserAttributes 方法的调用结果。
onDeleteLocalUserAttributesResult报告 deleteLocalUserAttributesByKeys 方法的调用结果。
onClearLocalUserAttributesResult报告 clearLocalUserAttributes 方法的调用结果。
onGetUserAttributesResult报告 getUserAttributes 方法或 getUserAttributesByKeys 方法的调用结果。

频道属性增删改查

方法描述
createChannelAttribute创建并返回一个 IRtmChannelAttribute 实例。
setChannelAttributes全量设置某指定频道的属性。
addOrUpdateChannelAttributes添加或更新某指定频道的属性。
deleteChannelAttributesByKeys删除某指定频道的指定属性。
clearChannelAttributes清空某指定频道的属性。
getChannelAttributes查询某指定频道的全部属性。
getChannelAttributesByKeys查询某指定频道指定属性名的属性。
事件描述
onSetChannelAttributesResult报告 setChannelAttributes 方法的调用结果。
onAddOrUpdateChannelAttributesResult报告 addOrUpdateChannelAttributes 方法的调用结果。
onDeleteChannelAttributesResult报告 deleteChannelAttributesByKeys 方法的调用结果。
onClearChannelAttributesResult报告 clearChannelAttributes 方法的调用结果。
onGetChannelAttributesResult报告 getChannelAttributesgetChannelAttributesByKeys 方法的调用结果。
频道属性更新事件描述
onAttributesUpdated当频道属性更新时返回当前频道的所有属性。

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

方法描述
getChannelMemberCount查询单个或多个频道的成员人数。用户无需加入指定频道即可调用该方法。
事件描述
onGetChannelMemberCountResult返回 getChannelMemberCount 方法的调用结果。

加入离开频道相关

方法描述
createChannel创建一个 IChannel 对象。
join加入频道。
leave离开频道。
release释放当前 IChannel 频道实例的所有资源。
事件描述
onJoinSuccess成功加入频道回调。
onJoinFailure加入频道失败回调。
onLeave报告 leave 方法的调用结果。
onMemberJoined远端用户加入频道回调。
onMemberLeft远端用户离开频道回调。
onMemberCountUpdated频道成员人数更新回调。返回最新频道成员人数。

频道消息

方法描述
createMessage创建并返回一个空文本 IMessage 消息实例。
createMessage创建并返回一个文本 IMessage 消息实例。
createMessage创建并返回一个自定义二进制 IMessage 消息实例。
createMessage创建并返回一个包含文字描述的自定义二进制 IMessage 消息实例。
sendMessage供频道成员向所在频道发送频道消息。
release释放当前 IMessage 消息实例使用的所有资源。
事件描述
onSendMessageResult报告 sendMessage 方法的调用结果。
onMessageReceived收到频道消息回调。

获取频道成员列表

方法描述
getMembers获取当前频道成员列表。
事件描述
onGetMembers获取频道成员列表回调。

呼叫邀请管理

  • 主叫取消已发送的呼叫邀请的API时序图:

  • 被叫接受呼叫邀请的 API 时序图:

呼叫管理器获取与释放方法描述
getRtmCallManager获取呼叫邀请管理器。
release释放当前 IRtmCallManager 实例的所有资源。
供主叫调用的方法描述
createLocalCallInvitation供主叫创建、管理一个 ILocalCallInvitation 呼叫邀请对象。
sendLocalInvitation供主叫向指定用户发送呼叫邀请。
cancelLocalInvitation供主叫取消一个呼叫邀请。
release释放当前 ILocalCallInvitation 本地呼叫邀请实例的所有资源。
供被叫调用的方法描述
acceptRemoteInvitation供被叫接受一个呼叫邀请。
refuseRemoteInvitation供被叫拒绝一个呼叫邀请。
release释放当前 IRemoteCallInvitation 呼叫邀请实例的所有资源。
主叫接收的事件描述
onLocalInvitationReceivedByPeer报告给主叫的回调:被叫已收到呼叫邀请。
onLocalInvitationCanceled报告给主叫的回调:呼叫邀请已被成功取消。
onLocalInvitationAccepted报告给主叫的回调:被叫已接受呼叫邀请。
onLocalInvitationRefused报告给主叫的回调:被叫已拒绝呼叫邀请。
onLocalInvitationFailure报告给主叫的回调:呼叫邀请过程失败。
被叫接收的事件描述
onRemoteInvitationReceived报告给被叫的回调:收到一条呼叫邀请。SDK 会同时返回一个 IRemoteCallInvitation 对象供被叫管理。
onRemoteInvitationCanceled报告给被叫的回调:呼叫邀请已被主叫取消。
onRemoteInvitationAccepted报告给被叫的回调:已接受呼叫邀请。
onRemoteInvitationRefused报告给被叫的回调:已拒绝呼叫邀请。
onRemoteInvitationFailure报告给被叫的回调:呼叫邀请进程失败。

更新token

方法描述
renewToken更新当前的 RTM Token。
事件描述
onTokenWillExpired在使用RTM过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。
onTokenExpired(SDK 断线重连时触发)当前使用的 RTM Token 已超过 24 小时的签发有效期。
onRenewTokenResult报告 renewToken 方法的调用结果。

日志设置与版本查询

  • 日志相关操作在调用 createRtmService 方法创建并初始化 IRtmService 实例后即可进行,无需等到调用 login 方法成功。
  • 版本查询操作为静态方法,可在创建并初始化 IRtmService 实例前进行。
方法描述
setLogFile设定日志文件的默认地址。
setLogFilter设置日志输出等级。
setLogFileSize设置日志文件大小。
getRtmSdkVersion获取 anyRTC RTM SDK 的版本信息。

定制方法

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