聊天室概述
聊天室(Chatroom)提供了一种不设用户上限,支持高并发消息处理的业务形态,可用于直播、社区、游戏、广场交友、兴趣讨论等场景。聊天室业务要点如下:
- App Key 下可创建的聊天室数量没有限制,单个聊天室成员数量没有限制。
- 聊天室具有自动销毁机制,默认情况下所有聊天室会在不活跃(连续时间段内无成员进出且无新消息)达到 1 小时后踢出所有成员并自动销毁,可延长该时间,也可配置为定时自动销毁。详见服务端文档聊天室销毁机制。
- 聊天室具有离线成员自动退出机制。满足默认预设条件时,融云服务端会踢出聊天室成员,详见退出聊天室。
- 聊天室本地消息会在退出聊天室时删除。IM 旗舰版 与 IM 尊享版客户可选择启用聊天室消息云端存储功能,将消息存储在融云服务端。具体功能与费用以融云官方价格说明页面及计费说明文档为准。
- 聊天室不具备离线消息转推送功能,只有在线的聊天室成员可接收聊天室消息。
客户端 UI 框架参考设计
聊天室产品暂不提供聊天室会话专用的 UI 组件。您可以参考以下 UI 框架设计了解聊天室的设计思路。
- 下图聊天室标签中为聊天室消息列表。
- 下图聊天室管理窗口中展示了聊天室支持的部分能力,如禁言、封禁、白名单等。
服务配置
客户端 SDK 默认支持聊天室,不需要申请开通。
聊天室的部分基础功能与增值服务可以在控制台的免费基础功能和 IM 服务管理页面进行开通和配置。
聊天室功能接口
聊天室会话关系由融云负责建立并保持连接。SDK 提供加入、退出等部分聊天室管理接口。更多聊天室管理功能需要配合使用即时通讯服务端 API。下表描述了融云聊天室主要的功能接口。
功能分类 | 功能描述 | 客户端 API | 融云服务端 API |
---|---|---|---|
创建与销毁聊天室 | 手动创建聊天室,或手动销毁聊天室。注意:客户端 SDK 无单独的创建聊天室 API。客户端不提供手动销毁聊天室 API。 | 不提供该 API | 创建房间、销毁房间 |
加入与退出聊天室 | 加入已存在的聊天室,请确保聊天室 ID 已存在。加入与退出聊天室仅客户端提供 API。注意:客户端有废弃接口可支持在聊天室不存在时创建聊天室再加入,但已不推荐使用。 | 加入聊天室、退出聊天室 | 不提供该 API |
查询聊天室房间与用户信息 |
| 不提供该 API | 查询房间信息 |
聊天室保活 | 添加一个或多个聊天室到聊天室保活列表。在保活列表中的聊天室不会被融云服务端自动销毁。 | 不提供该 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 | 全局禁言 |
与群组和超级群的区别
您可以通过以下文档了解业务类型之间的区别及所有功能: