Class RongChatRoomClient

    • Constructor Detail

      • RongChatRoomClient

        RongChatRoomClient()
    • Method Detail

      • setChatRoomMemberListener

         static void setChatRoomMemberListener(RongChatRoomClient.ChatRoomMemberActionListener listener)

        /~english Set chat room members to join and exit listener.

        Developers can set monitoring to get the member information callback of joining and exiting the current chat room.

        Parameters:
        listener - the listener for the chat room member's action.
      • setCheckChatRoomDuplicateMessage

         abstract void setCheckChatRoomDuplicateMessage(boolean enableCheck)

        设置是否检查聊天室重复消息的方法。 <p><strong>功能说明:</strong>启用或禁用检查聊天室中重复消息的功能。 <p>可以通过实现此方法来控制聊天室中是否需要对重复消息进行检查,以防止相同消息的重复显示或处理。

        Parameters:
        enableCheck - 默认是true; true表示开启检查聊天室中重复消息的功能,false表示关闭检查聊天室中重复消息的功能。
        Since:

        5.8.2

      • joinChatRoom

        @Deprecated() abstract void joinChatRoom(String chatRoomId, int defMessageCount, IRongCoreCallback.OperationCallback callback)

        加入聊天室。

        如果聊天室不存在,SDK 会创建聊天室并加入,如果已存在,则直接加入。 可以通过传入的 defMessageCount 设置加入聊天室成功之后需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用 sdk 默认的设置(默认为获取 10 条),defMessageCount 0 < defMessageCount <= 50 为获取的消息数量,最大值为 50。

        Parameters:
        chatRoomId - 聊天室 id。
        defMessageCount - 进入聊天室拉取消息数量,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。 (加入聊天室时会传本地最后一条消息的时间戳,拉取的是这个时间戳之后的消息。比如:这个时间戳之后有 3 条消息,defMessageCount传 10,也只能拉取 3 条消息。)
        callback - 状态回调。
      • joinChatRoom

        @Deprecated() abstract void joinChatRoom(String chatRoomId, int defMessageCount, String extra, IRongCoreCallback.OperationCallback callback)

        加入聊天室。

        如果聊天室不存在,SDK 会创建聊天室并加入,如果已存在,则直接加入。 可以通过传入的 defMessageCount 设置加入聊天室成功之后需要获取的历史消息数量。 -1 表示不获取任何历史消息,0 表示不特殊设置而使用 sdk 默认的设置(默认为获取 10 条),defMessageCount 0 < defMessageCount <= 50 为获取的消息数量,最大值为 50。

        Parameters:
        chatRoomId - 聊天室 id。
        defMessageCount - 进入聊天室拉取消息数量,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。 (加入聊天室时会传本地最后一条消息的时间戳,拉取的是这个时间戳之后的消息。比如:这个时间戳之后有 3 条消息,defMessageCount传 10,也只能拉取 3 条消息。)
        extra - 附加信息,默认最大长度为 128 个字符,服务可配置。
        callback - 状态回调。
      • joinExistChatRoom

        @Deprecated() abstract void joinExistChatRoom(String chatRoomId, int defMessageCount, IRongCoreCallback.OperationCallback callback)

        加入已存在的聊天室。

        客户需要通过 Server API 创建聊天室后才能调用此接口加入聊天室。

        如果聊天室不存在,则加入失败。加入聊天室时,可以设置拉取聊天室消息数目。

        Parameters:
        chatRoomId - 聊天室 id。
        defMessageCount - 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。
        callback - 状态回调。
        Since:

        5.3.1:加入聊天室后,断网重新加入聊天室默认获取聊天室消息条数,为主动加入时获取的历史消息条数。由于每次传入的条数固定, 可能会导致消息重复,App 需要做消息排重。

      • joinExistChatRoom

         abstract void joinExistChatRoom(String chatRoomId, int defMessageCount, IRongCoreCallback.ResultCallback<JoinChatRoomResponse> callback)

        加入已存在的聊天室。

        客户需要通过 Server API 创建聊天室后才能调用此接口加入聊天室。

        如果聊天室不存在,则加入失败。加入聊天室时,可以设置拉取聊天室消息数目。

        Parameters:
        chatRoomId - 聊天室 id。
        defMessageCount - 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。
        callback - 状态回调。 聊天室返回的信息JoinChatRoomResponse
        Since:

        5.3.1:加入聊天室后,断网重新加入聊天室默认获取聊天室消息条数,为主动加入时获取的历史消息条数。由于每次传入的条数固定, 可能会导致消息重复,App 需要做消息排重。

        5.6.3

      • joinExistChatRoom

         abstract void joinExistChatRoom(String chatRoomId, int defMessageCount, String extra, IRongCoreCallback.ResultCallback<JoinChatRoomResponse> callback)

        加入已存在的聊天室。

        客户需要通过 Server API 创建聊天室后才能调用此接口加入聊天室。

        如果聊天室不存在,则加入失败。加入聊天室时,可以设置拉取聊天室消息数目。

        Parameters:
        chatRoomId - 聊天室 id。
        defMessageCount - 进入聊天室拉取消息数目,-1 时不拉取任何消息,0 时拉取 10 条消息,最多只能拉取 50 条。
        extra - 附加信息,默认最大长度为 128 个字符,服务可配置
        callback - 状态回调。 聊天室返回的信息JoinChatRoomResponse
        Since:

        5.3.1:加入聊天室后,断网重新加入聊天室默认获取聊天室消息条数,为主动加入时获取的历史消息条数。由于每次传入的条数固定, 可能会导致消息重复,App 需要做消息排重。

        5.6.3

      • bindChatRoomWithRTCRoom

         abstract void bindChatRoomWithRTCRoom(String chatRoomId, String RTCRoomId, IRongCoreCallback.OperationCallback callback)

        绑定chatRoom和RTCRoom,当在RTCRoom开启时如需调用ChatRoom调用此方法。 * 背景问题 客户使用 聊天室 和 RTC

      • quitChatRoom

         abstract void quitChatRoom(String chatRoomId, IRongCoreCallback.OperationCallback callback)

        退出聊天室。

        Parameters:
        chatRoomId - 聊天室 id。
        callback - 状态回调。
      • forceRemoveChatRoomEntry

         abstract void forceRemoveChatRoomEntry(String chatRoomId, String key, boolean sendNotification, String notificationExtra, IRongCoreCallback.OperationCallback callback)

        强制删除聊天室自定义属性。

        注意:必须先开通聊天室状态存储功能。

        Parameters:
        chatRoomId - 聊天室 id
        key - 聊天室属性键值
        sendNotification - 是否需要发送通知,如果需要发送通知,SDK 会收到通知消息 ChatRoomKVNotiMessage
        notificationExtra - 通知自定义字段,通知消息 ChatRoomKVNotiMessage 中包含此字段,最大长度 2 kb。
        callback - 结果回调监听
      • forceSetChatRoomEntry

         abstract void forceSetChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, IRongCoreCallback.OperationCallback callback)

        强制设置聊天室自定义属性。

        key 不存在,增加属性; key 已存在,更新属性的值。注意:必须先开通聊天室状态存储功能。

        Parameters:
        chatRoomId - 聊天室 id
        key - 聊天室属性名称, Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符。
        value - 聊天室属性对应的值,最大长度 4096 个字符。
        sendNotification - 是否需要发送通知,如果需要发送通知,SDK 接收通知消息 ChatRoomKVNotiMessage
        autoDelete - 退出后是否删除
        notificationExtra - 通知自定义字段,通知消息 ChatRoomKVNotiMessage 中会包含此字段,最大长度 2 kb。
        callback - 设置聊天室属性的回调
      • setChatRoomEntry

         abstract void setChatRoomEntry(String chatRoomId, String key, String value, boolean sendNotification, boolean autoDelete, String notificationExtra, IRongCoreCallback.OperationCallback callback)

        设置聊天室自定义属性。

        key 不存在,增加属性; key 已存在,只能更新当前用户设置的属性值。注意:必须先开通聊天室状态存储功能。

        Parameters:
        chatRoomId - 聊天室 id
        key - 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符。
        value - 聊天室属性对应的值,最大长度 4096 个字符。
        sendNotification - 是否需要发送通知,如果需要发送通知,SDK 接收通知消息ChatRoomKVNotiMessage
        autoDelete - 退出后是否删除
        notificationExtra - 通知的自定义字段,通知消息 ChatRoomKVNotiMessage 中会包含此字段,最大长度 2 kb。
        callback - 设置聊天室属性的回调
      • setChatRoomEntries

         abstract void setChatRoomEntries(String chatRoomId, Map<String, String> chatRoomEntryMap, boolean autoDelete, boolean overWrite, IRongCoreCallback.SetChatRoomKVCallback callback)

        批量设置聊天室自定义属性

        Parameters:
        chatRoomId - 聊天室ID
        chatRoomEntryMap - 聊天室属性 1.
        autoDelete - 用户掉线或退出时,是否自动删除该 Key、Value 值
        overWrite - 是否强制覆盖
        callback - 设置聊天室属性的回调 onError 当 CoreErrorCode 为 KV_STORE_NOT_ALL_SUCCESS(23428)的时候, failMap 才会有值(key标识设置失败的 key,value 标识该 key 对应的错误码)
      • deleteChatRoomEntries

         abstract void deleteChatRoomEntries(String roomId, List<String> chatRoomEntryList, boolean force, IRongCoreCallback.SetChatRoomKVCallback callback)

        批量删除聊天室自定义属性

        Parameters:
        roomId - 聊天室ID
        chatRoomEntryList - 聊天室属性 1.
        force - 是否强制覆盖
        callback - 设置聊天室属性的回调 onError 当 CoreErrorCode 为 KV_STORE_NOT_ALL_SUCCESS(23428)的时候, failMap 才会有值(key标识设置失败的 key,value 标识该 key 对应的错误码)
      • getChatRoomEntry

         abstract void getChatRoomEntry(String chatRoomId, String key, IRongCoreCallback.ResultCallback<Map<String, String>> callback)

        获取聊天室单个属性。

        注意:必须先开通聊天室状态存储功能。

        Parameters:
        chatRoomId - 聊天室 id
        key - 聊天室属性键值
        callback - 结果回调监听
      • getAllChatRoomEntries

         abstract void getAllChatRoomEntries(String chatRoomId, IRongCoreCallback.ResultCallback<Map<String, String>> callback)

        获取聊天室所有属性。

        注意:必须先开通聊天室状态存储功能。

        Parameters:
        chatRoomId - 聊天室 id
        callback - 结果回调监听
      • removeChatRoomEntry

         abstract void removeChatRoomEntry(String chatRoomId, String key, boolean sendNotification, String notificationExtra, IRongCoreCallback.OperationCallback callback)

        删除聊天室自定义属性。

        注意: 1. 必须先开通聊天室状态存储功能 2. 只有自己设置的属性可以删除

        Parameters:
        chatRoomId - 聊天室 id
        key - 聊天室属性键值
        sendNotification - 是否需要发送通知,如果需要发送通知,SDK 会收到通知消息 ChatRoomKVNotiMessage
        notificationExtra - 通知自定义字段,通知消息 ChatRoomKVNotiMessage 中包含此字段,最大长度 2 kb。
        callback - 结果回调监听
      • getChatRoomInfo

         abstract void getChatRoomInfo(String chatRoomId, int defMemberCount, ChatRoomInfo.ChatRoomMemberOrder order, IRongCoreCallback.ResultCallback<ChatRoomInfo> callback)

        获取聊天室的信息(包含部分成员信息和当前聊天室中的成员总数)。

        注意: 因为聊天室一般成员数量巨大,权衡效率和用户体验,目前返回的聊天室信息仅包含不多于 20 人的成员信息和当前成员总数。 如果您使用 RC_ChatRoom_Member_Asc 升序方式查询,将返回最早加入的成员信息列表; 如果您使用 RC_ChatRoom_Member_Desc 降序方式查询,将返回最晚加入的成员信息列表。 上述两种方式查询,返回的成员列表都是按加入时间从旧到新。

        Parameters:
        chatRoomId - 聊天室 id。
        defMemberCount - 需要获取的成员信息的数量(目前获取到的聊天室信息中仅包含不多于 20人 的成员信息,即 0 <= count <= 20,传入 0 获取到的聊天室信息将或仅包含成员总数,不包含具体的成员列表)。
        order - 按照何种顺序返回聊天室成员信息。升序返回最早加入的用户列表; 降序返回最晚加入的用户列表。
        callback - 状态回调。参考 ChatRoomInfo
      • getChatroomHistoryMessages

         abstract void getChatroomHistoryMessages(String targetId, long recordTime, int count, IRongCoreEnum.TimestampOrder order, IRongCoreCallback.IChatRoomHistoryMessageCallback callback)

        获取聊天室历史消息。

        从服务器端获取聊天室之前的历史消息,如果指定时间 0,则从存储的第一条消息开始拉取。注意:必须先开通聊天室消息云存储功能。

        Parameters:
        targetId - 聊天室的 room id。
        recordTime - 起始的消息发送时间戳,单位: 毫秒。
        count - 需要获取的消息数量,0 <= count <= 200
        order - 拉取顺序: 降序, 按照时间戳从大到小; 升序, 按照时间戳从小到大。 RC_Timestamp_Desc:倒序(降序),表示拉取小(早)于 recordTime 的消息。 RC_Timestamp_Asc:正序(升序),表示拉取大(晚)于 recordTime 的消息。
        callback - 聊天室历史消息回调
      • chatRoomConfig

         static ChatRoomConfig chatRoomConfig()

        获取聊天室默认配置。 可通过此方法获取默认配置后进行个性化修改,但必须在加入聊天室之前进行配置。

        Returns:

        聊天室配置。