跳到主要内容

聊天室概述

聊天室(Chatroom)提供了一种不设用户上限,支持高并发消息处理的业务形态,可用于直播、社区、游戏、广场交友、兴趣讨论等场景。聊天室业务要点如下:

  • App Key 下可创建的聊天室数量没有限制,单个聊天室成员数量没有限制。
  • 聊天室具有自动销毁机制,默认情况下所有聊天室会在不活跃(连续时间段内无成员进出且无新消息)达到 1 小时后踢出所有成员并自动销毁,可延长该时间,也可配置为定时自动销毁。详见服务端文档聊天室销毁机制
  • 聊天室具有离线成员自动退出机制。满足默认预设条件时,融云服务端会踢出聊天室成员,详见退出聊天室
  • 聊天室本地消息会在退出聊天室时删除。IM 旗舰版IM 尊享版客户可选择启用聊天室消息云端存储功能,将消息存储在融云服务端。具体功能与费用以融云官方价格说明页面及计费说明文档为准。
  • 聊天室不具备离线消息转推送功能,只有在线的聊天室成员可接收聊天室消息。

客户端 UI 框架参考设计

聊天室产品暂不提供聊天室会话专用的 UI 组件。您可以参考以下 UI 框架设计了解聊天室的设计思路。

  • 下图聊天室标签中为聊天室消息列表。
  • 下图聊天室管理窗口中展示了聊天室支持的部分能力,如禁言、封禁、白名单等。

(height=500)

服务配置

客户端 SDK 默认支持聊天室,不需要申请开通。

聊天室的部分基础功能与增值服务可以在控制台的免费基础功能IM 服务管理页面进行开通和配置。

客户端 SDK 使用须知

提示

IMKit 依赖 IMLib,因此 IMKit 具备 IMLib 的全部能力,包括聊天室。但请注意 IMKit 不提供开箱即用的聊天室会话 UI 组件。

聊天室功能接口

聊天室会话关系由融云负责建立并保持连接。SDK 提供加入、退出等部分聊天室管理接口。更多聊天室管理功能需要配合使用即时通讯服务端 API。下表描述了融云聊天室主要的功能接口。

功能分类功能描述客户端 API融云服务端 API
创建与销毁聊天室手动创建聊天室,或手动销毁聊天室。注意:客户端 SDK 无单独的创建聊天室 API。客户端不提供手动销毁聊天室 API。不提供该 API创建房间销毁房间
加入与退出聊天室加入已存在的聊天室,请确保聊天室 ID 已存在。加入与退出聊天室仅客户端提供 API。注意:客户端有废弃接口可支持在聊天室不存在时创建聊天室再加入,但已不推荐使用。加入聊天室退出聊天室不提供该 API
查询聊天室房间与用户信息
  • 查询聊天室房间的基础信息,包括聊天室 ID、名称、创建时间。
  • 查询聊天室成员信息,支持获取聊天室成员用户 ID、加入时间,最多返回 500 个成员信息,支持按加入时间排序。
查询聊天室信息查询房间信息
聊天室保活添加一个或多个聊天室到聊天室保活列表。在保活列表中的聊天室不会被融云服务端自动销毁。不提供该 API保活房间
聊天室属性管理

在指定聊天室中设置自定义属性。比如在语音直播聊天室场景中,利用此功能记录聊天室中各麦位的属性;或在狼人杀等卡牌类游戏场景中记录用户的角色和牌局状态等。

聊天室属性以 Key-Value 的方式进行存储,支持设置、删除与查询属性,支持批量和强制操作。

聊天室属性属性管理(KV)
封禁/解封聊天室用户封禁一个或多个聊天室成员。被封禁成员将被踢出指定聊天室,并在封禁时间内不能再进入此聊天室中。不提供该 API成员封禁
聊天室用户白名单

需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

用户被加入某个聊天室的白名单后,在该聊天室消息量较大的情况下,该用户发送的消息不会被丢弃;并且用户也不会被融云服务端自动踢出该聊天室。

不提供该 API聊天室白名单服务
发送聊天室消息发送聊天室消息。发送消息发送聊天室消息
撤回聊天室消息撤回聊天室消息。撤回消息消息撤回
获取聊天室历史消息获取聊天室历史消息。获取聊天室历史消息历史消息日志
聊天室低级别消息

需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

如果消息类型在低级别消息列表中,该类型的消息全部视为低级别消息。当服务器负载高时,高级别的消息优先保留,低级别消息则优先丢弃。默认情况下,所有消息均为高级别消息。

不提供该 API聊天室消息优先级服务
聊天室消息白名单

需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

如果消息类型在聊天室消息白名单中,该类型的消息全部受到保护,在聊天室消息量较大的情况下也不会被丢弃。

不提供该 API聊天室白名单服务
聊天室成员禁言在指定的某个聊天室中,禁言一个或多个成员。聊天室成员被禁言后,可以接收并查看聊天室中用户聊天信息,但不能通过往该聊天室内发送消息。不提供该 API单人禁言
全体成员禁言设置某一聊天室全部成员禁言,或取消指定聊天室全部成员禁言状态。设置全体群成员禁言后,该聊天室的所有成员均不能通过客户端 SDK 往该群组内发送消息。不提供该 API全体禁言
全体禁言白名单添加一个或多个群成员到聊天室全体成员禁言白名单。聊天室成员被添加到白名单后,即使该聊天室处于全体成员禁言状态,该成员仍可通过客户端 SDK 往该聊天室发送消息。不提供该 API全体禁言
全局禁言聊天室成员

需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

添加一个或多个用户到聊天室全局禁言列表中,列表中的用户在应用下的所有聊天室中都无法发送消息。

不提供该 API全局禁言

与群组和超级群的区别

您可以通过以下文档了解业务类型之间的区别及所有功能: