跳到主要内容

用户组概述

超级群用户组(User Group)功能是融云超级群业务提供的群成员管理工具,结合超级群私有频道功能,可以帮助 App 实现更高效的超级群成员管理,沟通管理,和更精细的用户通知能力。

前提条件

提示

客户端 SDK 从 5.4.0 版本开始支持超级群用户组功能。

超级群用户组功能主要通过与私有频道的绑定操作,提供了对用户在社区私有频道中沟通权限(收发消息、通知)的批量管理能力,提升了 App 集成效率与对超级群的运营管理能力。

在了解与使用超级群用户组功能前,需要先了解超级群私有频道功能。请参见超级群私有频道概述

如何使用超级群用户组

App 服务端可以通过调用融云服务端 API,在超级群中创建最多 50 个用户组(userGroup),每个用户组成员最多由 100 个超级群成员组成。单个用户可以存在于多个用户组中。

用户组创建后,可以与超级群频道绑定。如果用户组绑定了一个或多个私有频道,该用户组的所有成员即具有在绑定的私有频道中收发消息、接收通知的能力。

  • App 将用户组绑定私有频道后,可认为组中所有用户均加入了该私有频道。与该私有频道成员列表中的用户类似,只有加入频道的成员才可以浏览此频道,并在频道中接收消息,发送消息,和接收通知。
  • App 将用户组绑定公有频道后,不会影响组中用户可收发消息的范围。但一旦该公有频道转为私有频道,该组用户将具有在该私有频道中收发消息、获取通知的能力。
  • App 可以在一个频道上绑定最多 10 个用户组,一个用户组可以与多个频道绑定(一个超级群最多 50 个频道)。
提示

超级群业务默认提供 RCDefault 频道,对所有超级群成员开放,不可转为私有频道。建议不要将用户组绑定到 RCDefault 频道。

App 客户端无法进行用户组管理操作,仅可通过 SDK 提供的回调方法监听用户组相关变更的通知,具体包括:

  • 删除用户组:用户组下所有用户均可收到客户端回调
  • 用户组成员变更:被加入或移出用户组的用户可收到客户端回调
  • 频道与用户组绑定关系变更:用户组下所有用户均可收到客户端回调

混合使用用户组与私有频道成员列表

只要 App 用户在指定私有频道绑定的任意一个用户组中,或者在有该私有频道成员列表中,该用户就能在私有频道中收发消息接收通知。

如果混合使用私有频道成员列表与用户组,在 App 业务中可能存在以下情况:

  • 私有频道配置了私有成员列表,并添加了多位用户。
  • 该私有频道绑定了多个用户组。

在上述使用场景中,某个用户可能既在私有频道成员列表中,又同时在该频道绑定的多个用户组中。如果该用户不再使用该私有频道,App 进行以下操作,确保该用户无法继续在私有频道收发消息:

  • 从该私有频道的成员列表中移除该用户。
  • 检查该私有频道绑定的所有用户组,从绑定的所有用户组中移除该用户,或解绑用户组。

用户组管理接口

即时通讯(IM)服务端提供了超级群用户组的基础管理接口。用户组的业务逻辑需要 App 服务端自行实现,例如申请加入用户组、审核用户组加入申请等。建议 App 服务端同时维护一份用户、用户组、频道之间对应关系的数据。

对于客户端开发人员来说,创建用户组等基础管理操作只需要与 App 服务端交互即可。App 服务端需要调用相应的融云服务端 API(Server API)接口相关接口创建用户组等其他管理操作。

下表列出了超级群用户组基础管理接口。更多相关接口可参见 IM 服务端文档 API 接口列表

功能分类功能描述融云服务端 API
创建、删除用户组在指定超级群下创建用户组。如删除用户组,则用户、用户组、频道之间的关系不复存在。创建用户组删除用户组
查询用户组列表分页查询指定超级群下的用户组,返回用户组 ID 列表。查询用户组列表
添加、删除用户在超级群用户组中添加、删除用户。添加用户移出用户
查询用户所属用户组分页查询指定单个用户在超级群下所属的用户组列表,返回用户组 ID 列表。查询用户所属用户组
绑定频道与用户组将指定单个超级群频道与用户组绑定,可绑定多个用户组,单个频道最多支持与 10 个用户组绑定。绑定频道与用户组
解绑频道与用户组将指定单个超级群频道与用户组解除绑定,单次请求可解绑最多 10 个用户组。解绑频道与用户组
查询频道绑定的用户组分页查询指定的超级群频道绑定的用户组列表,返回用户组 ID 列表。查询频道绑定的用户组
查询用户组绑定的频道分页查询指定单个用户组绑定的超级群频道列表,返回超级群频道 ID 列表。查询用户组绑定的频道