Web

聊天室概述

更新时间: 2024/03/14 19:21:10

功能概述

聊天室是一种比群组更加开放、更加自由的组织形态。聊天室类似于广场,没有严格的准入机制,用户进出自由,一般来说也没有太固定的成员组织架构。

聊天室.png

网易云信 IM 聊天室采用多层架构设计,可以实现真正意义上的大型聊天室,参与人数无上限,又可满足消息到达的实时性要求,主要应用于娱乐直播、教育直播等场景。

聊天室是一项付费拓展能力,需要在选购 IM 基础功能的情况下增购。

聊天室与群组的区别

  • 人数支持不同,对于人数较多的 IM 场景,推荐通过聊天室来实现。

    • 聊天室支持的人数无上限。
    • 高级群支持的人数上限默认为 200 人(IM 专业版可以升级拓展,最多 2000 人),具体请参见高级群概述
    • 2019年6月12日发布的6.5.5版本开始,支持最高 5000 人的超大群。 创建超大群的群人数级别设置为 5000 人,该应用只能创建超大群数量 200 个; 群人数级别设置为 2000 人,该应用可创建的超大群数量无上限。
  • 权限功能不同,对于要求开放,或具有临时性质的 IM 场景,推荐通过聊天室来实现。

    • 聊天室的权限管理相对简单,默认可以自由进出(可以设置黑名单不允许进入)。
    • 高级群可以设置丰富的邀请模式、被邀请模式、验证模式,具体请参见高级群概述
  • 场景特性不同

    • 聊天室偏重临时性质,成员多为游客,游客退出聊天室或异常断开后,就和该聊天室没有关系,不再接收聊天室相关信息。
    • 群组偏重固定性质,断开连接后不会退出群组,下次登录会收到离线期间的消息,异常断开会触发消息推送。
  • 常见场景举例

    • 棋牌游戏:房间是临时性的,玩家可以自由进入和退出,应使用聊天室(即并不是人数少就用群组,而要看场景特性)。
    • 娱乐直播:观众人数众多,可以自由进入和退出,应使用聊天室。
    • 企业办公:需要设置部门/团队权限,而且需要维护历史消息,应使用高级群。

聊天室功能

功能 功能描述
聊天室容量 支持聊天人数无上限
新建聊天室 新建一个新的聊天室,目前仅支持从服务端创建
查询聊天室信息 包括创建者、在线人数、名称、公告、直播地址、扩展字段、是否发送更新通知时间、通知事件扩展字段
更新聊天室信息 包括创建者、在线人数、名称、公告、直播地址、扩展字段、是否发送更新通知时间、通知事件扩展字段
修改聊天室开/关状态 修改聊天室开/关闭状态,目前仅支持从服务端修改
聊天室定时关闭 用户可根据自身的业务情况,选择对应的聊天室关闭方式来实现定时关闭聊天室,目前仅支持从服务端配置
聊天室定时关闭方式包括:固定时间后关闭(创建聊天室后 N 小时,直接自动关闭,不管聊天室中是否还有用户)和空闲后固定时间关闭(等聊天室中没有用户存在后 N 小时,自动关闭聊天室)
聊天室消息类型 支持文本、图片、语音、视频、文件、地理位置、通知消息、提示消息、自定义
聊天室消息历史 可查询最近10天的聊天室历史记录,发消息时可设置是否存云端历史记录
聊天室角色 聊天室角色分为固定成员和非固定成员两大类。
固定成员包括创建者、管理员、普通成员,非固定成员包括普通游客和匿名游客
聊天室黑名单 被拉黑后,将无法再进入聊天室
聊天室禁言 禁言用户可以在聊天室内,但无法发送消息
聊天室临时禁言 聊天室支持设置临时禁言时长,禁言时长时间到了,自动取消禁言。
聊天室全员禁言 设置聊天室全体成员禁言状态,仅创建者和管理员能发言
踢出聊天室 仅管理员可以踢,如目标是管理员仅创建者可以踢
修改自己的聊天室成员信息 目前只支持聊天室昵称,头像和扩展字段的更新
同时进入多个聊天室 支持同一账号同时进入多个聊天室,会建立多个连接
多端同时进入一个聊天室 支持同一账号在多端同时进入同一个聊天室
聊天室机器人 往聊天室内批量添加、删除机器人,每次最多 100 个账号
聊天室队列 针对直播连麦场景使用

如需修改聊天室多端同时进入一个聊天室策略,请登录 网易云信用户控制台 ,进入对应应用IM功能下的「功能配置」,进行配置。

功能限制:

  • 聊天室只允许用户手动进入,无法进行邀请
  • 断开聊天室连接后,服务器不会再推送该聊天室的消息给此用户
  • 用户进入聊天室之后,不会收到此聊天室的历史消息推送。如有历史消息需求,可以调用消息查询接口进行显示

聊天室角色

聊天室角色分为固定成员和游客两种类型。

  • 固定成员属于聊天室的常驻成员,无论用户当前是否在线/在聊天室里,都可以作为聊天室成员被获取到,目前固定成员包括:创建者、管理员、普通成员
  • 游客包括普通游客和匿名游客,游客离开聊天室或下线后,将不再出现在聊天室用户列表内
角色 角色描述
创建者 拥有最高权限,包括设置管理员、拉黑、禁言、踢人、设置普通成员
管理员 管理员具有拉黑、禁言、踢人、设置普通成员权限
普通成员
普通成员主要区别于游客,即使离开聊天室当前不在线,也可以作为聊天室成员被获取到
普通游客 普通游客是以登录状态进入聊天室内的用户,且未被设置为固定成员
匿名游客 匿名游客在无需登录的情况下即可进入聊天室,相比于普通游客,匿名游客不支持发消息、被禁言、被拉黑、被设置为管理员/普通成员等操作

注意事项

  • 为保证用户体验(如避免服务器过载),目前针对消息接收,有两套流控机制。第一套针对普通消息,聊天室用户每秒至多可接收20条,超过部分会因为流控随机丢弃。第二套针对高优先级消息,每秒至多接收10条,超过部分无法保证不丢失。
  • 为避免丢失重要消息(通常为服务端消息),可将发送聊天室消息的 HighPriority 参数设置为 true 实现高优先级接收服务端消息,进而保证高优先级消息流控上限内(每秒10条)的重要消息不丢失。详情请参见发送聊天室消息中的 HighPriority 参数说明。
  • 在进行一切操作之前,必须先进入聊天室。即必须先初始化好聊天室并且收到onconnect回调。
  • 进入聊天室时必须建立新的连接,退出聊天室或者被踢会断开连接,在聊天室中掉线会有自动重连,开发者需要监听聊天室连接状态来做出正确的界面表现。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能概述
  • 聊天室与群组的区别
  • 聊天室功能
  • 聊天室角色
  • 注意事项