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

    Class ChatClient

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

    Hierarchy

    • BaseManager
      • ChatClient
    Index

    Properties

    _eventEmitter?: NativeEventEmitter
    eventType: number = 2
    TAG: string = 'ChatClient'

    Accessors

    • 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 pushManager(): ChatPushManager

      获取推送管理器类。

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

      Returns ChatPushManager

      推送管理器类。

    • get roomManager(): ChatRoomManager

      获取聊天室管理器类。

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

      Returns ChatRoomManager

      聊天室管理器类。

    • get version(): string

      Returns string

    Methods

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

      Parameters

      Returns void

    • 更新 app iD。

      Note

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

      Parameters

      • newAppId: string

      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

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

      注意

      注册新用户有两种方式:

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

      • 授权注册:可调用 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>

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

    • 获取登录 token。

      Returns Promise<string>

      登录 token。

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

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

      注意

      从内存中获取见 currentUserName

      Returns Promise<string>

      当前登录用户的用户 ID。

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

    • Returns NativeEventEmitter

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

      Parameters

      • userId: string

        用户 ID。

      • pwdOrToken: string
      • OptionalisPassword: boolean

      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

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

      注意

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

      Returns Promise<boolean>

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

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

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

      Parameters

      • userId: string

        用户 ID。

      • pwdOrToken: string
      • OptionalisPassword: boolean

      Returns Promise<void>

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

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

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

      Parameters

      • userId: string

        用户 ID。

      • pwdOrToken: string

        密码或 token。

      • resource: string

        设备 ID,详见 ChatDeviceInfo#resource

      • OptionalisPassword: boolean

        是否使用密码登录设备:

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

      Returns Promise<void>

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

    • Parameters

      • userId: string
      • agoraToken: string

      Returns Promise<void>

    • 退出登录。

      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

      • agoraToken: string

        新的声网 token。

      Returns Promise<void>

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

    • Parameters

      • event: NativeEventEmitter

      Returns void

    • 更新推送设置。

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

      Parameters

      Returns Promise<void>

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

    • Type Parameters

      • T

      Parameters

      • method: string
      • Optionalargs: Object

      Returns Promise<T>

    • Parameters

      • result: any

      Returns void

    • Parameters

      Returns void