超级群场景指南

超级群(UltraGroup)面向大社区、频道化讨论与海量成员场景。rev22 起契约用独立会话类型 SUPER_GROUP(10) 表达超级群(存量 GROUP(2) + groupType=super 可读);rev23 起消息可带 channelId 按频道投递并过滤历史;rev24 收紧 private 频道列表可见性并补齐各端频道 UI 组件。服务端与四端 SDK(Web/Electron/Android/Flutter)已提供频道/用户组操作、频道消息与频道选择组件;频道成员管理页仍未提供。

实现状态

超级群会话:SUPER_GROUP(10)(rev22);存量 GROUP(2)+groupType=super 继续可读,两者共用同一群会话键。成员上限 100000(普通群 3000)。

已实现:创建/加入/退出/解散、加入策略、频道创建/列表/加入/离开、用户组创建/列表/按用户反查与绑定频道(客户端 SDK 8 个 op + Open API)、频道级消息路由(rev23)、private 列表可见性收紧与频道 UI 组件(rev24:Web ChannelSwitcher / Android ChannelListDialog / Flutter ChannelList·Switcher,Electron 复用 Web)。

未实现:默认频道与默认免打扰、频道级 typing/搜索裁剪、频道消息独立会话/未读拆分、频道成员管理页面(成员增删仍走 Server API)。

与普通群的差异​

维度普通群 Group超级群 SuperGroup本项目状态
表达方式conversationType=GROUPSUPER_GROUP(10);存量 GROUP(2)+groupType=super✅ 已实现(rev22;双表示可读)
成员上限默认 3000100000✅ 已实现
加入策略邀请制invite / open,可服务端设置✅ 已实现(joinPolicy)
频道无公有/私有频道,频道成员列表✅ 频道 CRUD/成员/加入离开 + 频道级消息(rev23)
用户组无按组批量授权私有频道🟡 用户组 CRUD/绑定已实现;不参与消息鉴权
默认频道无RCDefault(不可转私有)⛔ 未实现(不自动创建)
默认免打扰无群/频道级默认免打扰⛔ 未实现
离线/多端支持支持✅ 支持(按群组持久化)
客户端 SDKIMLib/IMKitIMLib ChannelClient;IMKit 不支持🟡 IMLib 8 个频道/用户组 op + channelId 消息(四端);频道 UI 组件(Web/Android/Flutter,Electron 复用 Web);成员管理页未提供
消息频道隔离不适用channelId 维度✅ 已实现(rev23:仅频道成员接收、历史按频道过滤)

核心模型​

超级群与频道​

超级群本身是成员关系的容器;频道(channel)是消息与成员可见性的细分。融云提供默认频道 RCDefault,所有成员可见且不可转私有;自建频道默认是私有频道,可切换为公有。本项目没有默认频道语义,频道完全由 API 显式创建。

私有频道​

私有频道(type=private,joinPolicy 推导为 invite)需要邀请或管理员身份才能加入;公有频道(public → open)对群成员开放。rev23 起频道消息按频道投递:私有频道发送者必须是频道成员(否则 1003),收件人仅频道成员;公有频道群成员可发送并自动加入频道。

用户组​

用户组用于批量管理频道成员:一个用户组可绑定多个频道,一个频道可绑定多个用户组。本项目提供用户组的创建/列表/按用户反查与“绑定到频道”(双向索引),单群 100 个频道、100 个用户组上限(超限 1015);绑定用户组成员计入频道有效成员(并需仍是群成员)。

API 入口​

能力接口说明
创建超级群POST /group/create请求体带 groupType: "super";需要开通 supergroup 服务
加入策略supergroup.join.policy.setinvite / open
群成员group.members.add / group.members.remove沿用普通群成员接口
客户端:创建频道createSupergroupChannel四端 SDK(rev21);type=public/private,joinPolicy 由 type 推导
客户端:频道列表/加入/离开listSupergroupChannels / joinSupergroupChannel / leaveSupergroupChannel仅群成员可读;private 频道需邀请或管理员
客户端:用户组createUserGroup / listUserGroups / getUserGroupsByUser / bindUserGroupToChannel用户组 CRUD、按用户反查与双向绑定
创建频道(Open API)supergroup.channel.createtype=public / private,缺省 private
频道列表(Open API)supergroup.channel.list返回频道及类型
频道类型(Open API)supergroup.channel.type.set公有/私有切换
频道成员(Open API)channel.members.add/remove/list维护频道成员;频道消息按成员收窄(私有频道发送需成员)
删除频道(Open API)supergroup.channel.delete删除频道记录;此后向该频道发送返回 1005,群历史不再返回该频道消息(频道已不存在视为不可见)
创建用户组(Open API)supergroup.usergroup.creategroupId + userGroupId + name
用户组成员(Open API)usergroup.members.add/remove批量添加/移除
绑定频道(Open API)channel.usergroup.bind/unbind/list用户组与频道授权关系
按用户查用户组(Open API)supergroup.usergroup.byUser查询用户所属用户组

接入流程​

  1. 确认服务开通

    创建 groupType=super 的群需要应用开通 supergroup 服务;未开通返回 1021。控制台/服务开通接口见「服务开通」模块。

  2. 创建超级群

    调用 POST /group/create,传 groupId、name、owner、members、groupType: "super"。返回 Group,maxMembers 为 100000。

  3. 设置加入策略

    默认 invite;需要公开加入时调用 supergroup.join.policy.set 设为 open。open 时用户可直接调用 group.join。

  4. 创建频道与授权

    先创建频道(type=private 或 public),再按需切换;私有频道通过频道成员或用户组绑定授权。注意:当前授权关系不参与消息投递鉴权。

  5. 收发消息

    rev22 起客户端按超级群会话发送(conversationType=SUPER_GROUP(10)、targetId=groupId);rev23 起可在 options 带 channelId 发频道消息(仅频道成员接收,私有频道需成员、公有频道自动加入)。不带 channelId 是群级消息。详见「超级群频道级消息」。

配额与限制​

项融云口径本项目
群成员上限不设上限(产品口径)100000(服务端校验)
单用户可加入超级群数最多 100 个未单独限制(受群成员关系约束)
单群频道数最多 50 个100 个(超限 1015)
单群用户组数最多 50 个100 个(超限 1015)
单频道绑定用户组数最多 10 个未实现配额校验(可绑定)
单用户组用户数最多 100 个SDK 本地按 5000 上限拦截(超限 1015)
默认频道RCDefault,不可转私有未实现(不自动创建)
默认免打扰群/频道级默认免打扰未实现
频道消息支持 channelId 维度✅ 已实现(rev23):发送带 channelId,仅频道成员接收,历史可过滤
客户端 APIChannelClient 等四端 IMLib 8 个频道/用户组 op + channelId 消息(rev21/rev23)
IMKit不支持超级群频道 UI 组件已提供(Web ChannelSwitcher / Android ChannelListDialog / Flutter ChannelList·Switcher;Electron 复用 Web);频道成员管理页未提供

场景建议​

  • 只需要大群:创建 super 群后只用一个群会话,不建频道;可直接复用群消息、历史与未读(rev22 起发送传 10)。
  • 社区频道:用频道管理接口维护频道目录;rev23 起发送带 channelId 即按频道投递,rev24 起各端 IMKit 已带频道切换器(Web/Android/Flutter,Electron 复用 Web)。
  • 私有频道权限:服务端强制私有频道发送需频道成员(1003),且 rev24 起列表对非成员隐藏 private 频道;建议业务层先校验再展示发送入口,避免无效请求。
  • 默认免打扰:当前只能用会话级 conversation.settings 设置单个用户的免打扰,不能设置群/频道级默认值。
排期与边界

默认频道/默认免打扰、频道级 typing/搜索裁剪、频道消息独立会话与未读拆分、频道成员管理页面仍未提供;频道级消息(rev23)与频道 UI 组件(rev24)已可用。相关页:超级群频道 UI 组件、私有频道列表可见性、C17 收口。

相关文档​

融云对应文档(证据)​