用户组概述
超级群用户组(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 列表。 | 查询用户组绑定的频道 |