聊天室功能概述
更新时间: 2024/10/31 15:19:48
功能概述
聊天室是一种比群组更加松散、开放的形态,类似于一个广场,没有严格的准入机制,用户进出自由,一般来说也没有太固定的成员组织架构。典型的应用场景即我们非常熟悉的娱乐直播、教育直播内的聊天室。聊天室是一项付费拓展能力,需要在选购IM基础功能的情况下增购。
聊天室相当于一个广场,只要有人看到了进入广场的门,任何人随时都可以进来,也可以随时离开。而群就像是一个公司,公司是一个更加私密的组织,必须是这个组织内的成员才能进入,成为成员可以是主动申请也可以是被邀请加入。
网易云信 IM 聊天室采用多层架构设计,可以实现真正意义上的大型聊天室,参与人数无上限,又可满足消息到达的实时性要求。
聊天室与群组的区别
-
人数支持不同
- 聊天室支持的人数无上限。
- 高级群和超大群的群容量有限制,具体请参考 增值服务。
-
权限功能不同
- 聊天室的权限管理相对简单,默认可以自由进出(可以设置黑名单不允许进入)。
- 群组(高级群)可以设置丰富的邀请模式、被邀请模式、验证模式等,具体请参考 群组功能概述。
-
场景特性不同
- 聊天室偏重临时性质,成员多为游客,游客退出聊天室或异常断开后,就和该聊天室没有关系,不再接收聊天室相关信息。
- 群组偏重固定性质,断开连接后不会退出群组,下次登录会收到离线期间的消息,异常断开会触发消息推送。
-
常见场景举例
- 棋牌游戏:房间是临时性的,玩家可以自由进入和退出,应使用聊天室(即并不是人数少就用群组,而要看场景特性)。
- 娱乐直播:观众人数众多,可以自由进入和退出,应使用聊天室。
- 企业办公:需要设置部门/团队权限,而且需要维护历史消息,应使用群组(高级群)。
聊天室功能列表
功能 | 功能描述 |
---|---|
聊天室容量 | 支持聊天人数无上限 |
新建聊天室 | 新建一个新的聊天室,目前仅支持从服务端创建 |
查询聊天室信息 | 包括创建者、在线人数、名称、公告、直播地址、扩展字段、是否发送更新通知时间、通知事件扩展字段 |
更新聊天室信息 | 包括创建者、在线人数、名称、公告、直播地址、扩展字段、是否发送更新通知时间、通知事件扩展字段 |
修改聊天室开/关状态 | 修改聊天室开/关闭状态,目前仅支持从服务端修改 |
修改聊天室自动关闭策略 | 分为不开启自动关闭,固定时间后自动关闭,空闲后固定时间自动关闭 目前仅支持从服务端修改 |
聊天室消息类型 | 支持文本、图片、语音、视频、文件、地理位置、通知消息、提示消息、自定义 |
聊天室消息历史 | 可查询最近10天的聊天室历史记录,发消息时可设置是否存云端历史记录 |
聊天室角色 | 聊天室角色分为固定成员和非固定成员两大类。 固定成员包括创建者、管理员、普通成员,非固定成员包括普通游客和匿名游客 |
聊天室黑名单 | 被拉黑后,将无法再进入聊天室 |
聊天室禁言 | 禁言用户可以在聊天室内,但无法发送消息 |
聊天室临时禁言 | 聊天室支持设置临时禁言时长,禁言时长时间到了,自动取消禁言 |
聊天室全员禁言 | 设置聊天室整体禁言状态,仅创建者和管理员能发言 |
踢出聊天室 | 仅管理员可以踢,如目标是管理员仅创建者可以踢 |
修改自己的聊天室成员信息 | 目前只支持聊天室昵称,头像和扩展字段的更新 |
同时进入多个聊天室 | 支持统一帐号同时进入多个聊天室,会建立多个连接 |
多端同时进入一个聊天室 | 支持同一帐号在多端同时进入同一个聊天室 |
聊天室机器人 | 往聊天室内批量添加、删除机器人,每次最多 100 个帐号 |
TopN 指标查询 | 按小时/天查询聊天室进入人数、活跃人数、消息量的 TopN 数据 |
聊天室队列 | 针对直播连麦场景使用 |
聊天室角色
聊天室角色分为固定成员和非固定成员两大类。
- 固定成员属于聊天室的常驻成员,无论用户当前是否在线/在聊天室里,都可以作为聊天室成员被获取到,目前固定成员包括:创建者、管理员、普通成员
- 非固定成员包括普通游客和匿名游客,游客离开聊天室或下线后,将不再出现在聊天室用户列表内
角色 | 角色描述 |
---|---|
创建者 | 拥有最高权限,包括设置管理员、拉黑、禁言、踢人、设置普通成员 |
管理员 | 管理员具有拉黑、禁言、踢人、设置普通成员权限 |
普通成员 | 普通成员主要区别于游客,即使离开聊天室当前不在线,也可以作为聊天室成员被获取到 |
普通游客 | 普通游客是以登录状态进入聊天室内的用户,且未被设置为固定成员 |
匿名游客 | 匿名游客在无需登录的情况下即可进入聊天室,相比于普通游客,匿名游客不支持发消息、被禁言、被拉黑、被设置为管理员/普通成员等操作 |
聊天室标签功能
聊天室标签功能,可以灵活地支持将聊天室消息向聊天室内部分成员下发,也支持仅接收特定的消息。
主要应用于以下场景:
场景一:超级小班课
大型多人课堂与小班互动模式结合。1名老师授课时,可将学生分成若干个小班,在小班内进行管理与教学互动,可兼顾直播大班课的教学成本优势和小班课的互动教学效果。
上图是一个典型的超级小班课场景:
- 所有的班级成员均在同一个聊天室下
- 授课老师可以向所有班级发送消息,也可接收所有班级的讨论信息
- 学生仅可以接收班级内的讨论消息,所发送的消息也只能在班级内可见
- 助教角色可自行配置,既可以管理1个班级,也可以管理多个班级
场景二:大型直播聊天室
大型直播聊天室场景下,考虑到弹幕刷屏、争论现象,可以对用户进行标签化分组,可以达到以下场景的效果:
- 多位艺人明星同场直播,艺人明星的粉丝可以内部互动,不同明星之间的粉丝不互动
- 体育竞技、电子竞技等,比赛双方的观众可以选择支持的战队,仅在战队粉丝内部互动
- 根据用户特点制订适合自己应用的标签策略,同一个聊天室内,同好、同年龄段的用户之间互相交流
消息流控机制
为保证用户体验(如避免服务器过载),聊天室存在流量控制机制:
- 针对普通消息:聊天室用户每秒至多可接收 20 条,超过部分会因为流控随机丢弃。
- 针对高优先级消息:聊天室用户每秒至多接收 10 条,超过部分可能会丢失。为避免丢失重要消息(通常为服务端消息),可将重要消息设置为高优先级消息,进而保证高优先级消息流控上限内(每秒 10 条)的消息不丢失。如何实现高优先级消息请参考 消息发送配置选项。
此文档是否对你有帮助?