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

Hierarchy

  • BaseManager
    • ChatClient

Constructors

Properties

_chatManager: ChatManager
_chatRoomManager: ChatRoomManager
_connectionListeners: Set<ChatConnectEventListener>
_connectionSubscriptions: Map<string, EmitterSubscription>
_contactManager: ChatContactManager
_currentUsername: string = ''
_customListeners: Set<ChatCustomEventListener>
_eventEmitter?: NativeEventEmitter
_groupManager: ChatGroupManager
_isInit: boolean = false
_multiDeviceListeners: Set<ChatMultiDeviceEventListener>
_options?: ChatOptions
_presenceManager: ChatPresenceManager
_pushManager: ChatPushManager
_rnSdkVersion: string = '1.1.0'
_sdkVersion: string = '4.0.0'
_userInfoManager: ChatUserInfoManager
TAG: string = 'ChatClient'
_instance: ChatClient
eventType: number = 2

Accessors

  • get currentUserName(): string
  • 获取当前登录用户的用户 ID。

    注意

    成功登录后有效。

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

    Returns string

    当前登录用户的用户 ID。

Methods

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

    Parameters

    Returns void

  • 修改 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>

    Throws

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

  • 压缩日志文件。

    注意

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

    Returns Promise<undefined | string>

    压缩后的日志文件路径。

    Throws

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

  • 注册新用户(开放注册)。

    注意

    注册新用户有两种方式:

    • 开放注册:客户端直接注册新用户,不建议在正式环境使用。 如调用失败可联系商务申请使用该接口。

    • 授权注册:可调用 REST API 注册新用户,然后保存到服务器或者发送到客户端使用。

    Parameters

    • userId: string

      用户 ID。 该参数必填。用户 ID 不能超过 64 个字符,支持以下类型的字符: - 26 个小写英文字母 a-z - 26 个大写英文字母 A-Z - 10 个数字 0-9 - "_", "-", "."

                  用户 ID 不区分大小写大写字母会自动转换为小写字母

      用户的电子邮件地址和 UUID 不能作为用户 ID

      可通过以下格式的正则表达式设置用户 ID:^[a-zA-Z0-9_-]+$
    • password: string

      密码,长度不超过 64 个字符。该参数必填。

    Returns Promise<void>

    Throws

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

  • 获取登录 token。

    Returns Promise<string>

    登录 token。

    Throws

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

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

    注意

    从内存中获取见 currentUserName

    Returns Promise<string>

    当前登录用户的用户 ID。

    Throws

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

  • Returns NativeEventEmitter

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

    Parameters

    • userId: string

      用户 ID。

    • pwdOrToken: string
    • Optional isPassword: boolean

    Returns Promise<ChatDeviceInfo[]>

    登录的在线设备列表。

    Throws

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

  • 初始化 SDK。

    注意

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

    Parameters

    Returns Promise<void>

    Throws

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

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

    Returns Promise<boolean>

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

    Throws

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

  • 检查当前用户是否登录。

    注意

    在初始化之后和登录之前调用该方法。

    Returns Promise<boolean>

    当前用户是否登录。 - true:已登录。自动登录时,成功登录前返回 true,其他情况下返回 false。 - false:未登录。非自动登录时,返回 false

    Throws

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

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

    Parameters

    • userId: string

      用户 ID。

    • pwdOrToken: string
    • Optional isPassword: boolean

    Returns Promise<void>

    Throws

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

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

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

    Parameters

    • userId: string

      用户 ID。

    • pwdOrToken: string

      密码或 token。

    • resource: string

      设备 ID,详见 ChatDeviceInfo#resource

    • Optional isPassword: boolean

      是否使用密码登录设备:

      • (默认)true:使用密码;
      • false:使用用户 token。

    Returns Promise<void>

    Throws

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

  • Parameters

    • userId: string

      用户 ID,详见 createAccount

    • agoraToken: string

      声网 token。

    Returns Promise<void>

    Deprecated

    2023-11-17 使用 login 代替。

    使用用户 ID 和声网 token 登录。

    注意

    该方法支持自动登录。

    Throws

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

  • 退出登录。

    Parameters

    • unbindDeviceToken: boolean = true

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

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

    Returns Promise<void>

    Throws

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

  • Parameters

    • params: any

    Returns void

  • Parameters

    • Optional params: any

    Returns void

  • Parameters

    • Optional params: any

    Returns void

  • Parameters

    • Optional params: any

    Returns void

  • Parameters

    • Optional params: any

    Returns void

  • Parameters

    • params: any

    Returns void

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

    Returns void

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

    Returns void

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

    Returns void

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

    Parameters

    Returns void

  • 更新声网 token。

    注意

    当用户利用声网 token 登录的情况下在 ChatConnectEventListener 实现类中收到 token 即将过期事件的回调通知时,可以调用该方法更新 token,避免因 token 失效产生的未知问题。

    Parameters

    • agoraToken: string

      新的声网 token。

    Returns Promise<void>

    Throws

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

  • Parameters

    • event: NativeEventEmitter

    Returns void

  • 更新推送设置。

    注意 对于 iOS 设备需在初始化 SDK 时录入设备 ID,否则设置不会成功,详见 ChatClient#init

    Parameters

    Returns Promise<void>

    Throws

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

  • Type Parameters

    • T

    Parameters

    • method: string
    • Optional args: {}

      Returns Promise<T>

    • Parameters

      • result: any

      Returns void

    • Parameters

      Returns void

    Generated using TypeDoc