准备工作
APPID获取地址: anyRTC;
SDK获取地址: webSDK;
导入SDK
ArRTM 是 anyrtc RTM SDK 的导出模块。
使用 script 标签引入 SDK 时,产生名为 ArRTM 的全局变量,该变量含有该模块的所有成员。
<script src="./js//ArRTM@latest.js"></script>
创建sdk全局实例
ArRTM 是引入sdk后自动抛出的。
let client = await ArRTM.createInstance(APPID);
登陆系统
登录 anyrtc RTM 系统的用户 ID。该字符串不可超过 64 字节。以下为支持的字符集范围:
26 个小写英文字母 a-z
26 个大写英文字母 A-Z
10 个数字 0-9
空格
"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ","
请不要将 uid 设为空、null,或字符串 "null"。
uid 不支持 number 类型。建议调用 toString() 方法转化非 string 型 uid。
client.login({ uid: string })
监听点对点消息
client.on("MessageFromPeer", async (message, peerId, messagePros)=> {
// 你的业务逻辑
};
发送消息(包括点对点消息和频道消息)
// 本地用户(发送者)向指定用户(接收者)发送点对点消息或点对点的离线消息。
client.sendMessageToPeer(
{ text: 'test peer message' }, // 一个 RtmMessage 实例。
'PeerId', // 对端用户的 uid。
).then(sendResult => {
if (sendResult.hasPeerReceived) {
// 你的代码:远端用户收到消息事件。
} else {
// 你的代码:服务器已收到消息,对端未收到消息。
}
}).catch(error => {
// 你的代码:点对点消息发送失败。
});
退出登录
退出登录,退出后自动断开连接和销毁回调监听。
client.logout();
完整示例
更多代码详情,请移步 github