Chat SDK for React Native 5.0.0
    Preparing search index...

    Interface ChatConnectEventListener

    连接事件监听器。

    在不稳定的网络环境中断开连接时,使用该 SDK 的应用会收到 onDisconnected 回调。

    无需手动重连,Chat SDK 会自动处理重连。

    包含以下两个连接相关回调:

    • onConnected:连接建立时触发。
    • onDisconnected:连接断开时触发,并携带表示断开原因的错误码,详见 ChatDisconnectErrorCode。

    添加连接事件监听器:

    let listener = new (class s implements ChatConnectEventListener {
    onTokenWillExpire(): void {
    chatlog.log('ConnectScreen.onTokenWillExpire');
    }
    onTokenDidExpire(): void {
    chatlog.log('ConnectScreen.onTokenDidExpire');
    }
    onConnected(): void {
    chatlog.log('ConnectScreen.onConnected');
    }
    onDisconnected(errorCode?: number, info?: { deviceName?: string; ext?: string }): void {
    chatlog.log('ConnectScreen.onDisconnected', errorCode, info);
    }
    })();
    ChatClient.getInstance().addConnectionListener(listener);

    移除连接事件监听器:

    ChatClient.getInstance().removeConnectionListener(listener);
    
    interface ChatConnectEventListener {
        onConnected?(): void;
        onDatabaseOpened?(username: string, errorCode: number): void;
        onDataSyncFinish?(type: ChatDataSyncType, errorCode: number): void;
        onDataSyncStart?(type: ChatDataSyncType): void;
        onDisconnected?(
            errorCode?: number,
            info?: { deviceName?: string; ext?: string },
        ): void;
        onOfflineMessageSyncFinish?(): void;
        onOfflineMessageSyncStart?(): void;
        onTokenDidExpire?(): void;
        onTokenWillExpire?(): void;
    }
    Index
    • 成功连接到 chat 服务器时触发的回调。

      Returns void

    • 本地数据库打开时触发。

      数据库的打开过程独立于登录流程。依赖本地数据库的 SDK 方法只能在该回调触发后调用。

      Parameters

      • username: string

        已打开数据库所绑定的用户 ID。

      • errorCode: number

        数据库打开结果的错误码。0 表示成功。

      Returns void

    • SDK 完成从服务器同步指定类型的数据时触发。

      Parameters

      Returns void

    • SDK 与 chat 服务器断开连接时触发。

      errorCode 由原生 SDK 原样传递,分为两类(详见 ChatDisconnectErrorCode):

      • 登出原因(例如 USER_LOGIN_FROM_OTHER_DEVICE):本地登录状态不再有效,应返回登录页面并重新登录。
      • 连接原因(例如 NETWORK_ERROR、SERVER_NOT_REACHABLE):用户仍保持登录状态,但连接已断开,SDK 会自动重连;收到这些错误码时不要返回登录页面。

      未在 ChatDisconnectErrorCode 中列出的错误码(包括未来原生 SDK 版本新增的错误码)也会原样传递; 除非原生 SDK 文档另有说明,否则应将其视为连接原因。

      如果没有 errorCode,表示平台未提供断开原因(例如 iOS 上的网络断开);也应将其视为连接事件。

      注意:token 过期导致的登出不会触发该回调,详见 ChatConnectEventListener.onTokenDidExpire。 需要同时处理这两个回调,才能覆盖所有登出场景。

      Parameters

      Returns void

    • 结束接收离线消息的时候触发。

      Returns void

    • 开始接收离线消息的时候触发。

      Returns void

    • Agora token 已过期时触发。

      Returns void

    • Agora token 即将过期时触发。

      Returns void