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

    Class ChatClient

    Chat 客户端类。该类是 Chat SDK 的入口,负责登录、登出及管理 SDK 与 chat 服务器之间的连接。

    Hierarchy

    • BaseManager
      • ChatClient
    Index
    _eventEmitter?: NativeEventEmitter<Readonly<Record<string, readonly Object[]>>>
    eventType: number = 2
    TAG: string = 'ChatClient'
    • get chatManager(): ChatManager

      获取聊天管理器对象

      需要初始化之后才能够使用。

      Returns ChatManager

      管理器对象

    • get contactManager(): ChatContactManager

      获取联系人管理器类。

      该方法只能在 Chat 客户端初始化之后调用。

      Returns ChatContactManager

      联系人管理器类。

    • get currentUserName(): string

      获取当前登录用户的用户 ID。

      注意

      成功登录后有效。

      该方法获取内存保存的用户 ID,该数据在登入、登出和断网重连时更新。你可以调用 getCurrentUsername 从服务器中获取最新数据。

      Returns string

      当前登录用户的用户 ID。

    • get groupManager(): ChatGroupManager

      获取群组管理器类。

      该方法只能在 Chat 客户端初始化之后调用。

      Returns ChatGroupManager

      群组管理器类。

    • get options(): ChatOptions | undefined

      获取 SDK 配置项。

      SDK 选项必填,在初始化时设置。详见 ChatOptions。

      Returns ChatOptions | undefined

      SDK 配置信息。

    • get presenceManager(): ChatPresenceManager

      获取在线状态管理器类。

      该方法只能在 Chat 客户端初始化之后调用。

      Returns ChatPresenceManager

      在线状态管理器类。

    • get pushManager(): ChatPushManager

      获取推送管理器类。

      该方法只能在 Chat 客户端初始化之后调用。

      Returns ChatPushManager

      推送管理器类。

    • get roomManager(): ChatRoomManager

      获取聊天室管理器类。

      该方法只能在 Chat 客户端初始化之后调用。

      Returns ChatRoomManager

      聊天室管理器类。

    • get version(): string

      Returns string

    • 添加自定义监听器,接收 Android 或者 iOS 设备发到 React Native 层的数据。

      Parameters

      Returns void

    • 绑定设备的推送 token。

      Parameters

      • params: { deviceToken: string; notifierName?: string }

        参数。

        • deviceToken:平台推送服务上报的推送 token。
        • notifierName:平台的推送证书名称。Android 平台必填,iOS 平台忽略该参数。
          • Android:厂商推送证书名称,例如 FCM Sender ID、华为/荣耀 App ID、小米/魅族 App ID、OPPO App Key 或 vivo appId#appKey。该参数不能为空,否则原生 SDK 会返回参数无效错误。
          • iOS:不使用该参数。请在 SDK 初始化时通过 ChatOptions.apnsCertName 设置 APNs 证书名称,因为 App 运行期间无法修改该证书名称。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 绑定 Apple PushKit token,用于 VoIP 推送通知。

      注意 该方法仅在 iOS 平台可用,在其他平台调用不会有任何效果。

      Parameters

      • params: { deviceToken: string }

        deviceToken: PKPushRegistry 上报的 PushKit token,为十六进制字符串。

        注意 初始化 SDK 时必须通过 ChatOptions.pushKitCertName 设置 PushKit 证书名称,因为证书名称在 App 运行期间不可更改。

        注意 native SDK 会在绑定前缓存该 token:如果当前用户尚未登录,本次调用会抛出 ChatError 失败,但 token 仍会被缓存,并在下次登录成功后自动绑定。ChatClient.logout 的 unbindDeviceToken 设为 true 时也会解绑 PushKit token。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 更新 app iD。

      注意

      • 需要不登录的状态下使用,如果登录请使用 logout 退出.

      Parameters

      • newAppId: string

        新的 App ID。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 修改 App Key。

      App Key 是用户访问 chat 服务时的唯一标识符。

      注意

      • App Key 用于控制对你的 app 的 Chat 服务的访问,只有在未登录状态才能修改 App Key。

      • 修改 App Key 是为了方便你切换到其他 App Key。

      • 你可以在 Console 上获取 App Key。

      • 你也可以用 ChatOptions#appKey 设置 App Key。

      Parameters

      • newAppKey: string

        新的 App Key,必填。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 压缩日志文件。

      注意

      强烈建议方法完成之后删除该压缩文件。

      Returns Promise<string | undefined>

      压缩后的日志文件路径。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取登录 token。

      Returns Promise<string>

      登录 token。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 从服务器获取当前登录用户的用户 ID。

      注意

      从内存中获取见 currentUserName。

      Returns Promise<string>

      当前登录用户的用户 ID。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • Returns NativeEventEmitter

    • 获取指定账号下登录的在线设备列表。

      Parameters

      • userId: string

        用户 ID。

      • token: string

        用户 token,详见 getAccessToken。

      Returns Promise<ChatDeviceInfo[]>

      登录的在线设备列表。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 根据频道名称(channelName)获取与 Agora Chat 用户 ID 匹配的声网 RTC token、token 过期时间和 RTC UID。

      调用此 API 之前必须启用声网 RTC 功能。

      如果频道名称设置为 null,将生成对所有频道有效的 RTC token。

      这是一个异步方法。

      Parameters

      • channelName: string

        声网 RTC 频道名称。

      Returns Promise<ChatRTCTokenInfo>

      RTC token 信息。详见 ChatRTCTokenInfo。

      异常描述。详见 ChatError。

    • 获取与声网 RTC UID 匹配的 Agora Chat 用户 ID。

      Parameters

      • ids: number[]

        声网 RTC UID 列表。

      Returns Promise<Map<number, string>>

      声网 RTC UID 和 Agora Chat 用户 ID 的映射关系。

      异常描述。详见 ChatError。

    • 初始化 SDK。

      注意

      • SDK 初始化需在主进程中进行;
      • 执行该方法后才能调用其他方法。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 检查 SDK 是否连接到 Chat 服务器。

      Returns Promise<boolean>

      SDK 是否连接到 Chat 服务器。 - true:是。 - false:否。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 将指定账号登录的所有设备都踢下线。

      Parameters

      • userId: string

        用户 ID。

      • token: string

        用户 token,详见 getAccessToken。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 将特定账号登录的指定设备下线。

      关于如何获取设备 ID,详见 ChatDeviceInfo#resource。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 退出登录。

      Parameters

      • unbindDeviceToken: boolean = true

        登出时是否解绑 token。该参数仅对移动平台有效。

        • (默认) true:是。
        • false:否。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 移除所有连接状态监听器。

      Returns void

    • 移除所有自定义监听器。

      Returns void

    • 移除所有错误监听器。

      Returns void

    • 移除所有多设备监听器。

      Returns void

    • 移除自定义监听,不再接收 Android 或者 iOS 设备发到 React Native 层的数据。

      Parameters

      Returns void

    • 更新 token。

      注意

      使用 token 登录时,如果通过 ChatConnectEventListener 回调收到 token 即将过期的通知,可以调用该方法更新 token,避免 token 失效导致异常。

      Parameters

      • token: string

        新 token。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • Parameters

      • event: NativeEventEmitter

      Returns void

    • 解绑通过 ChatClient.bindPushKitToken 绑定的 Apple PushKit token。

      注意 该方法仅在 iOS 平台可用,在其他平台调用不会有任何效果。

      ChatClient.logout 的 unbindDeviceToken 设为 true 时已经会解绑 PushKit token,因此只有在需要保持当前用户登录状态的同时解绑 token 时,才调用该方法。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • Type Parameters

      • T

      Parameters

      • method: string
      • Optionalargs: Object

      Returns Promise<T>

    • Parameters

      • result: any

      Returns void

    • Parameters

      Returns void