TalkClientEvents

最近更新时间:2023-02-21 10:39:53

本页主要介绍 TalkClient 相关的回调事件。所有回调都是在 TalkClient

概览

事件名描述
ConnectionStateChangedSDK 与 Talk 系统的连接状态改变回调
TokenWillExpiredTalk Token 即将过期。
TokenDidExpiredTalk 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 系统的连接状态改变回调。

回调参数

参数类型描述
newStateTalkStatusCode.ConnectionState当前的连接状态。
reasonTalkStatusCode.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");
});

注意事项

  • 收到该回调时,已经与服务器断开链接,需要重新开始连接服务。