README
anyrtc RTM Web SDK 是通过 HTML 网页加载的 JavaScript 库。RTM Web SDK 库在网页浏览器中通过 API 调用声网的实时消息服务。
导入
ArRTM 是 anyrtc RTM SDK 的导出模块。
script 导入
使用 <script>
标签引入 SDK 时,产生名为 ArRTM
的全局变量,该变量含有该模块的所有成员。
<script src="https://ardw.anyrtc.io/sdk/web/ArRTM@latest.js"></script>
npm 导入
import ArRTM from "ar-rtm-sdk";
功能介绍
请分别调用 RtmClient.on 和 RtmChannel.on 方法添加 RtmClient 和 RtmChannel 对象的监听器。
anyrtc RTM Web SDK 提供以下功能:
- 登录登出相关
- 点对点消息
- 查询用户在线状态
- 订阅或取消订阅单个或多个指定用户的在线状态
- 用户属性增删改查
- 频道属性增删改查
- 查询单个或多个频道的成员人数
- 上传和下载文件或图片
- 加入离开频道相关
- 频道消息
- 获取频道成员列表
- 呼叫邀请管理
- 更新 Token
- 日志设置与版本查询
- 定制方法
登录登出相关
方法 | 描述 |
---|---|
createInstance | 创建一个 RtmClient 实例。 |
login | 登录 anyrtc RTM 系统。 |
logout | 退出登录,退出后自动断开连接和销毁回调监听。 |
事件 | 描述 |
---|---|
ConnectionStateChanged | 通知 SDK 与 anyrtc RTM 系统的连接状态发生了改变。 |
点对点消息
方法 | 描述 |
---|---|
sendMessageToPeer | 向指定用户(接收者)发送点对点消息或点对点的离线消息。 |
事件 | 描述 |
---|---|
MessageFromPeer | 收到来自对端的点对点消息。 |
查询用户在线状态
方法 | 描述 |
---|---|
queryPeersOnlineStatus | 查询指定用户的在线状态。 |
订阅或取消订阅单个或多个指定用户的在线状态
Method | Description |
---|---|
subscribePeersOnlineStatus | 订阅指定单个或多个用户的在线状态。 |
unsubscribePeersOnlineStatus | 取消订阅指定单个或多个用户的在线状态。 |
queryPeersBySubscriptionOption | 获取某特定内容被订阅的用户列表。 |
Event | Description |
---|---|
PeersOnlineStatusChanged | 被订阅用户在线状态改变回调。 |
用户属性增删改查
方法 | 描述 |
---|---|
setLocalUserAttributes | 全量设置本地用户的属性。 |
addOrUpdateLocalUserAttributes | 添加或更新本地用户的属性。 |
deleteLocalUserAttributesByKeys | 删除本地用户的指定属性。 |
clearLocalUserAttributes | 清空本地用户的属性。 |
getUserAttributes | 获取指定用户的全部属性。 |
getUserAttributesByKeys | 获取指定用户指定属性名的属性。 |
频道属性增删改查
方法 | 描述 |
---|---|
setChannelAttributes | 全量设置某指定频道的属性。 |
addOrUpdateChannelAttributes | 添加或更新某指定频道的属性。 |
deleteChannelAttributesByKeys | 删除某指定频道的指定属性。 |
clearChannelAttributes | 清空某指定频道的属性。 |
getChannelAttributes | 查询某指定频道的全部属性。 |
getChannelAttributesByKeys | 查询某指定频道指定属性名的属性。 |
频道属性更新事件 | 描述 |
---|---|
AttributesUpdated | 当频道属性更新时返回当前频道的所有属性。 |
查询单个或多个频道的成员人数
方法 | 描述 |
---|---|
getChannelMemberCount | 查询单个或多个频道的成员人数。用户无需加入指定频道即可调用该方法。 |
上传或下载文件或图片
方法 | 描述 |
---|---|
createMediaMessageByUploading | 上传一个文件或图片到 anyrtc 服务器以获取 RtmFileMessage 实例或 RtmImageMessage 实例,可用于发送频道消息和点对点消息。 |
createMessage | 创建一个消息实例。对于文件消息和图片消息,如果对应的文件或图片已经上传且 media ID 仍然有效,你无需再次上传文件或图片,可以直接调用此方法获取消息实例用来发送点对点消息或频道消息。 |
downloadMedia | 通过 media ID 从 anyrtc 服务器下载文件或图片。 |
加入离开频道相关
方法 | 描述 |
---|---|
createChannel | 创建一个 RtmChannel 实例。 |
join | 加入频道。加入频道成功后可收到该频道消息和频道用户进出通知。 |
leave | 离开频道。不再接收频道消息和频道用户进出通知。 |
事件 | 描述 |
---|---|
MemberJoined | 远端用户加入频道回调。 |
MemberLeft | 远端用户离开频道回调。 |
MemberCountUpdated | 频道成员人数更新回调。返回最新频道成员人数。 |
频道消息
方法 | 描述 |
---|---|
sendMessage | 供频道成员向所在频道发送频道消息。 |
事件 | 描述 |
---|---|
ChannelMessage | 收到频道消息回调。 |
获取频道成员列表
方法 | 描述 |
---|---|
getMembers | 获取频道成员列表。 |
呼叫邀请管理
- 主叫取消已发送的呼叫邀请的 API 时序图:
- 被叫接收或拒绝收到的呼叫邀请的 API 时序图:
供主叫调用的方法 | 描述 |
---|---|
createLocalInvitation | 供主叫创建一个 LocalInvitation 实例。 |
send | 供主叫发送呼叫邀请给对端。 |
cancel | 供主叫取消已发送的呼叫邀请。 |
供被叫调用的方法 | 描述 |
---|---|
accept | 供被叫接受呼叫邀请。 |
refuse | 供被叫拒绝呼叫邀请。 |
返回给主叫的事件 | 描述 |
---|---|
LocalInvitationReceivedByPeer | 返回给主叫的回调:被叫已收到呼叫邀请。 |
LocalInvitationCanceled | 返回给主叫的回调:呼叫邀请已被取消。 |
LocalInvitationAccepted | 返回给主叫的回调:被叫已接受呼叫邀请。 |
LocalInvitationRefused | 返回给主叫的回调:被叫已拒绝呼叫邀请。 |
LocalInvitationFailure | 返回给主叫的回调:呼叫邀请过程失败。 |
返回给被叫的事件 | 描述 |
---|---|
RemoteInvitationReceived | 返回给被叫的回调:收到一条呼叫邀请。 |
RemoteInvitationCanceled | 返回给被叫的回调:主叫已取消呼叫邀请。 |
RemoteInvitationAccepted | 返回给被叫的回调:接受呼叫邀请成功。 |
RemoteInvitationRefused | 返回给被叫的回调:拒绝呼叫邀请成功。 |
RemoteInvitationFailure | 返回给被叫的回调:呼叫邀请过程失败。 |
更新 Token
方法 | 描述 |
---|---|
renewToken | 更新当前 Token。 |
事件 | 描述 |
---|---|
TokenExpired | Token 过期回调。 |
日志设置与版本查询
变量 | 描述 |
---|---|
enableLogUpload | 是否启用日志上传。 |
logFilter | 设置 SDK 的日志输出等级。 |
VERSION | anyrtc RTM SDK 的当前版本信息。 |
定制方法
方法 | 描述 |
---|---|
setParameters | 配置 SDK 提供技术预览或特别定制功能。 |