群组业务概述
群聊是即时通讯类应用中常见的多人通讯方式,一般包含两个及以上的用户。融云的群组业务支持丰富的群组成员管理、禁言管理等特性,支持离线消息推送和历史消息记录漫游,可用于兴趣群、办公群、客服服务沟通等。
群组业务要点如下:
- 即时通讯服务只负责将消息传达给群组中的所有用户,默认不维护群组成员的资料(头像、名称、群成员名片等),如果需要将群组及群成员资料信息托管在融云,可使用用户信息托管功能(该功能已默认开通)服务后,使用托管服务中提供的群组管理功能,进行群组资料的管理和维护。
- 未使用融云信息托管服务时,创建/解散/加入/退出群组等群组管理操作,必须由 App 服务器请求即时通讯服务端 API 实现。即时通讯客户端 SDK 不提供相应方法。详见下方群组管理功能。
- 融云信息托管服务中提供全新群组管理能力,支持通过服务端 API 和客户端 SDK 进行群组管理。
- App Key 下可创建的群组数量没有限制,单个群组成员上限为 3000 人。如需修改群组成员上限,可咨询融云商务。
- 单个用户可加入的群组数量无限制。
- 从控制台 IM 服务的服务购买页面为 App Key 开启单群聊消息云端存储服务后,可使用融云提供的消息存储服务,实现消息历史记录漫游。IM 旗舰版或IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。
服务配置
群组业务的部分基础功能与增值服务可以在控制台 IM 服务的服务购买和[服务配置]页面进行开通和配置,如果需要将群组及群成员资料信息托管在融云,可使用用户信息托管功能(该功能已默认开通)。
客户端 SDK 使用须知
提示
- 仅 IMKit 提供开箱即用的群聊会话 UI 组件。IMLib 不提供开箱即用的群聊会话 UI 组件。IMKit 依赖 IMLib,因此 IMKit 具备 IMLib 的全部能力。
- 通过信息托管服务创建的群组,支持通过客户端 SDK 管理群组功能,SDK 从 1.8.0 版本开始支持此功能。
- 不是通过信息托管服务创建的群组,客户端不提供群组管理的 API。群组管理需要由 App 服务端调用相应的融云服务端 API(Server API)接口完成。或将已创建的群组,通过服务端接口导入到信息托管服务后,可通过客户端 SDK 管理群组功能。
群组管理功能
默认情下,融云不托管用户信息,也不管理群组的业务逻辑,因此群的业务逻辑全部需要在 App 服务器进行实现。未开启使用融云信息托管服务时,群主、群管理员、群公告、邀请入群、群号搜索等均为群组业务逻辑,需在 App 侧自行实现。如果您希望将群组及群成员资料信息托管在融云,请开启用户信息托管。
提示
- 使用信息托管服务,在进行群组管理操作时,群成员会收到操作状态通知回调,如:创建、主动加入、邀请加入、踢出、退出、解散、添加管理员、移除管理员、转移群主等,因为通知使用消息方式实现,所以将计入群消息的分发和下行数据统计。
- 通过非托管功能创建群组,如果需要使用群组托管能力,需要调用“导入群托管数据”接口,设置群组所有者(群主)及群组的默认权限后才能使用。
- 未开启用户信息托管的群组
- 开启用户信息托管的群组
下表列出了即时通讯服务端提供的非托管能力的群组基础管理接口。注意,群组管理需要由 App 后端调用相应的即时通讯服务端 API(Server API)接口完成。开通信息托管服务后客户端可针对托管的群组提供管理 API。
| 功能分类 | 功能描述 | 融云服务端 API |
|---|---|---|
| 创建、解散群组 | 提供创建者用户 ID、群组 ID、和群名称,向融云服务端申请建群。如解散群组,则群成员关系不复存在。 | 创建群组、 |