聊天室是支持多人同时在线、离开即退出的多人组织,主要应用于直播场景。聊天室中的成员没有固定关系,用户离线后,超过 2 分钟会自动退出聊天室。聊天室成员在离线后,不会收到推送消息。聊天室可以应用于直播、消息广播等。若需调整该时间,需联系 sales@agora.io。
聊天室具有以下角色和权限:
群组和聊天室都是多人沟通的组织模型。主要区别在于成员之间是否有稳定的关系。群组成员往往停留时间较长,而聊天室成员自由加入和离开。
下表显示了群组和聊天室之间的功能比较:
功能 | 群组 | 聊天室 |
---|---|---|
使用场景 | 类似于微信,QQ 里的群聊,所有加入的用户拥有固定的关系。 | 类似于斗鱼、虎牙的直播间,成员间没有固定关系,离开即退出。 |
创建方式 | 所有 app 用户都可以创建群组。 | 仅超级管理员 有权限创建聊天室。 |
最大成员数 | 成员数支持取决于所选择的版本,最高版本支持 8,000 人。 | 成员数支持取决于所选择的版本,最高版本支持 10,000 人。如需提升该上限,请联系 sales@agora.io。 |
离线推送消息 | 离线时,成员会收到推送消息。 | 离线时,成员不会收到推送消息;成员离线超过 2 分钟会自动退出聊天室。 |
离线消息存储 | 支持离线消息存储,每个会话存储 200 条消息。 用户上线时,会收到离线消息。 |
不支持离线消息存储。如果需要用户新加入聊天室时服务器推送最新历史消息,可以联系 sales@agora.io 开通聊天室历史消息推送,每个会话默认支持 10 条消息,最多可调整至 200 条。 |
消息可靠性 | 群组中发送的所有消息,用户都会收到。 | 当消息量大时,聊天室中超过阈值的消息会被丢弃。消息开始丢弃的阈值为每秒 100 条消息,可以根据需求进行调整。 |
即时通讯服务 IM SDK 支持创建和管理聊天室、管理聊天室成员、修改聊天室属性。
可以使用聊天室 API 实现以下功能:
功能 | 描述 |
---|---|
创建聊天室 | 只有超级管理员 可以创建聊天室,聊天室创建者为聊天室所有者。聊天室最大成员数取决于即时通讯服务 IM 的限制。详见聊天室限制。 |
解散聊天室 | 解散聊天室需要聊天室所有者权限。 |
获取聊天室列表 | 所有 app 用户均有权限获取聊天室列表。 |
获取聊天室详情 | 所有聊天室成员均有权限获取聊天室详情。 |
监听聊天室事件 | 你可以监听聊天室事件,例如用户何时加入和离开聊天室,并根据需要添加应用逻辑。 |
功能 | 描述 |
---|---|
加入聊天室 | 未被加入黑名单的所有 app 用户可自由加入聊天室。 |
离开聊天室 | 所有聊天室成员都可以自由退出聊天室;也可能被动离开聊天室,原因分为:被管理员移出聊天室、聊天室解散和用户账号离线。 |
管理聊天室所有权和管理员 | 仅聊天室所有者可以对成员指定或移除管理员权限。Web 端不涉及变更聊天室所有者。 |
管理聊天室白名单 | 需要聊天室所有者或管理员权限。全员禁言时,白名单上的成员可以发消息。 |
管理聊天室黑名单 | 需要聊天室所有者或管理员权限,被加入黑名单的成员会被移出聊天室。黑名单中的成员会被移出聊天室,无法再收发聊天室消息,只有先被移出黑名单才能重新加入聊天室。 |
管理聊天室禁言 | 需要聊天室所有者或管理员权限,可以对单个聊天室成员进行禁言,也可以对全员禁言或解除禁言。全员禁言时,默认聊天室所有者和管理员不禁言。 |
功能 | 描述 |
---|---|
管理聊天室基本属性 |
|
管理聊天室自定义属性 |
|
聊天室成员的最大数量、可以创建的聊天室总数以及用户可以加入的聊天室的最大数量根据不同套餐而异。
套餐 | 聊天室成员数 | 可以创建的聊天室数量 | 单个用户可以加入的聊天室数量 |
---|---|---|---|
免费版 | 100 | 100 | 100 |
基础版 | 2,000 | 10,000 | 1,000 |
进阶版 | 10,000 | 50,000 | 2,000 |
企业版 | 20,000 及更多 | 100,000 | 10,000 |