本页主要介绍 TalkClient
相关的回调事件。所有回调都是在 TalkClient
概览
事件名 | 描述 |
---|---|
ConnectionStateChanged | SDK 与 Talk 系统的连接状态改变回调 |
TokenWillExpired | Talk Token 即将过期。 |
TokenDidExpired | Talk Token 已经过期。 |
示例
import ArTalk from "ar-talk-sdk";
/**
* 创建 Talk 客户端实例
* @params appId: 指定频道的 ID。(类型:string)
*/
const client = ArTalk.createInstance(appId, { enableLogUpload: false });
/**
* 用户登录 anyRTC Talk 系统
*/
client.login({ uid: "userID" })
.then(() => { })
.catch((err) => { });
// 监听 SDK 与 anyRTC Talk 系统的连接状态
client.on("ConnectionStateChanged", (newState, reason) => {
console.log(newState, reason);
});
// 监听点对点消息。
client.on("MessageFromPeer", (message, peerId, messageProps) => {
console.log(message, peerId, messageProps);
});
TalkClient 回调事件
TalkClient 实例上的事件类型。
ConnectionStateChanged
ConnectionStateChanged: (newState: TalkStatusCode.ConnectionState, reason: TalkStatusCode.ConnectionChangeReason) => void
SDK 与 Talk 系统的连接状态改变回调。
回调参数
参数 | 类型 | 描述 |
---|---|---|
newState | TalkStatusCode.ConnectionState | 当前的连接状态。 |
reason | TalkStatusCode.ConnectionChangeReason | 状态改变的原因。 |
示例
// 监听 SDK 与 anyRTC Talk 系统的连接状态
client.on("ConnectionStateChanged", (newState, reason) => {
console.log(newState, reason);
});
TokenWillExpired
TokenWillExpired: () => void
当前使用的 Talk Token 即将过期。
示例
// 监听 SDK 与 anyRTC Talk 系统的连接状态
client.on("TokenWillExpired", () => {
console.log("TokenWillExpired");
});
注意事项
- 收到该回调时,请尽快在你的业务服务端生成新的
Token
并调用 renewToken 方法把新的Token
传给 SDK
TokenDidExpired
TokenDidExpired: () => void
当前使用的 Talk Token 已经过期。
示例
// 监听 SDK 与 anyRTC Talk 系统的连接状态
client.on("TokenDidExpired", () => {
console.log("TokenDidExpired");
});
注意事项
- 收到该回调时,已经与服务器断开链接,需要重新开始连接服务。