群组业务概述
群聊是即时通讯类应用中常见的多人通讯方式,一般包含两个及以上的用户。融云的群组业务支持丰富的群组成员管理、禁言管理等特性,支持离线消息推送和历史消息记录漫游,可用于兴趣群、办公群、客服服务沟通等。
群组业务要点如下:
- 融云只负责将消息传达给群组中的所有用户,不维护群组成员的资料(头像、名称、群成员名片等),需要由开发者应用服务器维护。
- 创建/解散/加入/退出群组等群组管理操作,必须由 App 服务器请求融云服务端 API 实现。融云客户端 SDK 不提供相应方法。详见下方群组管理功能。
- App Key 下可创建的群组数量没有限制,单个群组默认成员上限为 3000 人。如需修改群组成员上限,可咨询融云商务。
- 单个用户可加入的群组数量无限制。
- 从控制台 IM 服务的服务购买页面为 App Key 开启单群聊消息云端存储服务后,可使用融云提供的消息存储服务,实现消息历史记录漫游。IM 旗舰版或IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。
服务配置
客户端 SDK 默认支持群组业务,不需要申请开通。
群组业务的部分基础功能与增值服务可以在控制台 IM 服务的服务购买和[服务配置]页面进行开通和配置。
客户端 SDK 使用须知
提示
- 仅 IMKit 提供开箱即用的群聊会话 UI 组件。IMLib 不提供开箱即用的群聊会话 UI 组件。
- 客户端不提供群组管理的 API。群组管理需要由 App 服务端调用相应的融云服务端 API(Server API)接口完成。
群组管理功能
融云不会托管用户,也不管理群组的业务逻辑,因此群的业务逻辑全部需要在 App 服务器进行实现。
提示
群主、群管理员、群公告、邀请入群、群号搜索等均为群组业务逻辑,需在 App 侧自行实现。
对于客户端开发人员来说,创建群组、解散等基础管理操作只需要与 App 自身的业务服务端交互即可,由 App 服务端负责调用相应的融云服务端 API(Server API)接口完成相关操作。
下表列出了融云服务端提供的群组基础管理接口。注意,客户端不提供群组管理的 API。
| 功能分类 | 功能描述 | 融云服务端 API | 
|---|---|---|
| 创建、解散群组 | 提供创建者用户 ID、群组 ID、和群名称,向融云服务端申请建群。如解散群组,则群成员关系不复存在。 | 创建群组、解散群组 | 
| 加入、退出群组 | 加入群组后,默认可查看入群以后产生的新消息。退出群组后,不再接收该群的新消息。 | 加入群组、退出群组 | 
| 修改融云服务端的群组信息 | 修改在融云推送服务中使用的群组信息。 | 刷新群组信息 | 
| 查询群组成员 | 查询指定群组所有成员的用户 ID 信息。 | 查询群组成员 | 
| 查询用户所在群组 | 根据用户 ID 查询该用户加入的所有群组,返回群组 ID 及群组名称。融云不存储群组资料信息,群组资料及群成员信息需要开发者在应用服务器自行维护,如应用服务端维护的用户群组关系有缺失时,可通过此接口来核对校验。 | 查询用户所在群组 | 
| 同步用户所在群组 | 向融云服务端同步指定用户当前所加入的所有群组,防止应用中的用户群组信息与融云服务端的用户所属群信息不一致。如果在集成融云服务前 App Server 上已有群组及成员数据,第一次连接融云服务器时,可使用此接口向融云同步已有的用户与群组对应关系。 | 同步用户所在群组 | 
| 群组单人禁言 | 在指定的单个群组中或全部群组中,禁言一个或多个用户。被禁言用户可以接收查看群组中其他用户消息,但不能通过客户端 SDK 发送消息。 | 单人禁言 | 
| 群组全体禁言 | 将群组全体成员禁言。被 禁言群组的所有成员均不能发送消息,需要某些用户可以发言时,可将此用户加入到群禁言用户白名单中。 | 全体禁言 | 
| 群组禁言用户白名单 | 群组被整体禁言后,禁言白名单中用户可以发送群消息。 | 全体成员禁言白名单 | 
群聊消息功能
群聊消息功能与单聊业务类似,共用部分 API 及配置。
| 功能 | 描述 | 客户端 API | 融云服务端 API | 
|---|---|---|---|
| 发送消息 | 可发送普通消息与媒体消息,例如文本、图片、GIF 等,或自定义消息。支持在发送消息时添加 @ 信息。 | 发送消息 | 发送群聊消息 | 
| 发送群聊定向消息 | 可发送普通消息与媒体消息给群组中的指定的一个或多个成员,其他成员不会收到该消息。 | 发送群定向消息 | 发送群聊定向消息 | 
| 接收消息 | 监听并实时接 收消息,或在客户端上线时接收离线消息。 | 接收消息 | 不提供该 API | 
| 群聊消息已读回执 | 发送群消息后如需要查看消息的阅读状态,需要先发送回执请求,在通过接受者的响应获取已读数据。 | 群聊消息回执 | 不提供该 API | 
| 离线消息 | 支持离线消息存储,存储时间可设置(1 ~ 7 天),默认存储 7 天内的所有群消息,支持调整存储时长与存储的群消息数量。 | 不提供该 API | 不提供该 API | 
| 控制离线消息推送属性 | 接收方离线状态下,群消息可触发推送通知。通过配置消息推送属性(IPushConfig)可控制移动端接收的推送通知的展示效果及行为。 | 发送消息 | 不提供该 API | 
| 撤回消息 | 消息发送成功后可撤回该条消息。 | 撤回消息 | 撤回消息 | 
| 获取历史消息 | 从本地数据库或远端获取历史消息。注意,从远端获取历史消息需要开通单群聊消息云端存储 |