使用anyRTC开发的webSDK 实现实时消息

547 阅读1分钟

准备工作

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