跳到主要内容

聊天室概述

聊天室(Chatroom)提供了支持高并发消息处理的业务形态,可用于直播、社区、游戏、广场交友、兴趣讨论等场景。App Key 下可创建的聊天室数量没有限制,单个聊天室成员数量没有限制。

服务配置

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

聊天室自动销毁机制

聊天室具有自动销毁机制,默认情况下所有聊天室会在不活跃(连续时间段内无成员进出且无新消息)达到 1 小时后踢出所有成员并自动销毁,可修改时长,也可配置为定时自动销毁。

聊天室业务支持灵活控制每个聊天室的存活条件与时长。详见聊天室自动销毁机制

聊天室离线成员自动退出机制

聊天室具有离线成员自动退出机制。用户离线后,如满足以下默认预设条件,即时通讯服务端会自动将该用户踢出聊天室:

  • 从用户离线开始 30 秒内,聊天室中产生第 31 条消息时,触发自动踢出。
  • 或用户已离线 30 秒后,聊天室有新消息产生时,触发自动踢出。
提示
  • 默认预设条件均要求聊天室中必须要有新消息产生,否则无法触发踢出动作。如果聊天室中没有消息产生,则无法将异常用户踢出聊天室。
  • 如需修改默认行为对新消息的依赖,请提交工单申请开通聊天室成员异常掉线实时踢出。开通该服务后,服务端会通过 SDK 行为(要求 Android/iOS IMLib SDK 版本 ≧ 5.1.6,Web IMLib 版本 ≧ 5.3.2)判断用户是否处于异常状态,最迟 5 分钟可以将异常用户踢出聊天室。
  • 如需保护特定用户,即不自动踢出指定用户(如某些应用场景下可能希望用户驻留聊天室),可使用 Server API 提供的聊天室用户白名单功能。

聊天室消息能力

  • 聊天室不具备离线消息转推送功能,只有在线的聊天室成员可接收聊天室消息。
  • 聊天室本地消息会在退出聊天室时删除。IM 旗舰版IM 尊享版客户可选择启用聊天室消息云端存储功能。具体功能与费用以官方价格说明页面及计费说明文档为准。

聊天室管理接口

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

功能分类功能描述即时通讯服务端 API
创建聊天室手动创建聊天室。创建聊天室时可指定自动销毁类型(定时销毁或不活跃时销毁),可配置是否禁言全体成员,可设置聊天室自定义属性(KV)。创建聊天室
销毁聊天室手动销毁聊天室。销毁聊天室
加入聊天室加入聊天室。不提供该 API
退出聊天室在线用户可主动退出聊天室。离线用户可被自动踢出聊天室,不需要额外处理。不提供该 API
查询聊天室房间与用户信息查询聊天室房间的基础信息,包括聊天室 ID、创建时间、人数、自动销毁类型等。查询房间信息
聊天室保活添加一个或多个聊天室到聊天室保活列表。在保活列表中的聊天室不会被即时通讯服务端自动销毁。保活聊天室
聊天室属性管理在指定聊天室中设置自定义属性。比如在语音直播聊天室场景中,利用此功能记录聊天室中各麦位的属性;或在狼人杀等卡牌类游戏场景中记录用户的角色和牌局状态等。 聊天室属性以 Key-Value 的方式进行存储,支持设置、删除与查询属性,支持批量和强制操作。属性管理(KV)
封禁/解封聊天室用户封禁一个或多个聊天室成员。被封禁成员将被踢出指定聊天室,并在封禁时间内不能再进入此聊天室中。成员封禁
聊天室用户白名单需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以官方价格说明页面及计费说明文档为准。 用户被加入某个聊天室的白名单后,在该聊天室消息量较大的情况下,该用户发送的消息不会被丢弃;并且用户也不会被即时通讯服务端自动踢出该聊天室。聊天室白名单服务
发送聊天室消息发送聊天室消息。发送聊天室消息
撤回聊天室消息撤回聊天室消息。消息撤回
获取聊天室历史消息获取聊天室历史消息。历史消息日志
聊天室低级别消息需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以官方价格说明页面及计费说明文档为准。 如果消息类型在低级别消息列表中,该类型的消息全部视为低级别消息。当服务器负载高时,高级别的消息优先保留,低级别消息则优先丢弃。默认情况下,所有消息均为高级别消息。聊天室消息优先级服务
聊天室消息白名单需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以官方价格说明页面及计费说明文档为准。 如果消息类型在聊天室消息白名单中,该类型的消息全部受到保护,在聊天室消息量较大的情况下也不会被丢弃。聊天室白名单服务
聊天室成员禁言在指定的某个聊天室中,禁言一个或多个成员。聊天室成员被禁言后,可以接收并查看聊天室中用户聊天信息,但不能通过往该聊天室内发送消息。单人禁言
全体成员禁言设置某一聊天室全部成员禁言,或取消指定聊天室全部成员禁言状态。设置全体群成员禁言后,该聊天室的所有成员均不能通过客户端 SDK 往该群组内发送消息。全体禁言
全体禁言白名单添加一个或多个群成员到聊天室全体成员禁言白名单。聊天室成员被添加到白名单后,即使该聊天室处于全体成员禁言状态,该成员仍可通过客户端 SDK 往该聊天室发送消息。全体禁言
全局禁言聊天室成员需在 IM 服务管理页面普通服务下开通后使用。IM 旗舰版IM 尊享版可开通该服务。具体功能与费用以官方价格说明页面及计费说明文档为准。 添加一个或多个用户到聊天室全局禁言列表中,列表中的用户在应用下的所有聊天室中都无法发送消息。全局禁言