跳到主要内容

群组业务概述

群聊是即时通讯类应用中常见的多人通讯方式,一般包含两个及以上的用户。融云的群组业务支持丰富的群组成员管理、禁言管理等特性,支持离线消息推送和历史消息记录漫游,可用于兴趣群、办公群、客服服务沟通等。

群组业务要点如下:

  • 即时通讯服务只负责将消息传达给群组中的所有用户,默认不维护群组成员的资料(头像、名称、群成员名片等)。如需将群组及群成员资料托管在融云,可使用已默认开通的用户信息托管服务。
  • 未使用信息托管时,创建、解散、加入、退出群组等管理操作必须由 App 服务器请求融云服务端 API 实现。使用信息托管后,可以使用小程序 IMLib 托管接口和融云服务端 API 管理托管群组。详见下方群组管理功能。
  • App Key 下可创建的群组数量没有限制,单个群组默认成员上限为 3000 人。如需修改群组成员上限,可咨询融云商务。
  • 单个用户可加入的群组数量无限制。
  • 从控制台 IM 服务的服务购买页面为 App Key 开启单群聊消息云端存储服务后,可使用融云提供的消息存储服务,实现消息历史记录漫游。IM 旗舰版或IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

服务配置​

客户端 SDK 默认支持群组业务,不需要申请开通。

群组业务的部分基础功能与增值服务可以在控制台 IM 服务的服务购买和[服务配置]页面进行开通和配置。

客户端 SDK 使用须知​

提示
  • 仅 IMKit 提供开箱即用的群聊会话 UI 组件。IMLib 不提供开箱即用的群聊会话 UI 组件。
  • 未使用信息托管时,客户端不提供群组管理的 API。群组管理需要由 App 服务端调用相应的融云服务端 API(Server API)接口完成。
  • 使用信息托管功能后,小程序 IMLib 提供托管群组管理 API。使用旧版非托管接口创建的群组,需要先调用群组托管导入功能(托管),设置群主和群权限后,才能使用托管群组接口。

群组管理功能​

群组管理能力取决于 App 是否使用信息托管功能。未使用信息托管时,群主、群管理员、群公告、邀请入群、群号搜索等业务逻辑需要由 App 自行实现。使用信息托管后,可以使用小程序 IMLib 托管接口和信息托管群组服务端 API 管理群组。

提示

使用信息托管服务进行群组管理操作时,群成员会收到对应的操作状态通知回调。通知使用消息方式实现,会计入群消息的分发和下行数据统计。

基础群组 Server API​

下表列出的接口用于维护群组关系和推送所需的基础群组信息,不托管群组资料和群成员资料。

功能分类功能描述融云服务端 API
创建、解散群组提供创建者用户 ID、群组 ID、和群名称,向融云服务端申请建群。如解散群组,则群成员关系不复存在。创建群组、解散群组
加入、退出群组加入群组后,默认可查看入群以后产生的新消息。退出群组后,不再接收该群的新消息。加入群组、退出群组
修改融云服务端的群组信息修改在融云推送服务中使用的群组信息。刷新群组信息
查询群组成员查询指定群组所有成员的用户 ID 信息。查询群组成员
查询用户所在群组根据用户 ID 查询该用户加入的所有群组,返回群组 ID 及群组名称。融云不存储群组资料信息,群组资料及群成员信息需要开发者在应用服务器自行维护,如应用服务端维护的用户群组关系有缺失时,可通过此接口来核对校验。查询用户所在群组
同步用户所在群组向融云服务端同步指定用户当前所加入的所有群组,防止应用中的用户群组信息与融云服务端的用户所属群信息不一致。如果在集成融云服务前 App Server 上已有群组及成员数据,第一次连接融云服务器时,可使用此接口向融云同步已有的用户与群组对应关系。同步用户所在群组
群组单人禁言在指定的单个群组中或全部群组中,禁言一个或多个用户。被禁言用户可以接收查看群组中其他用户消息,但不能通过客户端 SDK 发送消息。单人禁言
群组全体禁言将群组全体成员禁言。被禁言群组的所有成员均不能发送消息,需要某些用户可以发言时,可将此用户加入到群禁言用户白名单中。全体禁言
群组禁言用户白名单群组被整体禁言后,禁言白名单中用户可以发送群消息。全体成员禁言白名单

信息托管群组管理​

使用信息托管功能后,可以使用托管群组管理能力。客户端托管接口请参见群组管理(客户端)、加入群组管理(客户端)、群组资料(客户端)和群成员管理(客户端)。

服务端 API功能描述
创建群组(托管)、解散群组(托管)创建或解散托管群组。创建群组时可设置群名称、群主、群头像、群简介、自定义群扩展信息和群权限。
设置群组资料(托管)、批量获取群组资料(托管)设置或获取托管群组的名称、头像、简介、公告、权限和扩展信息。
加入群组(托管)、退出群组(托管)、踢出群组(托管)管理托管群组中的成员加入、退出和移出。
转让群组(托管)、设置群管理员(托管)、移除群管理员(托管)管理托管群组的群主和群管理员角色。
分页获取群成员信息(托管)、获取指定群成员信息(托管)、设置群成员资料(托管)查询和设置托管群组成员资料。
设置群名称备注名(托管)、设置特别关注群成员(托管)设置用户维度的群名称备注和特别关注群成员。
分页查询应用下群组(托管)、分页查询用户加入的群组(托管)查询 App Key 下的托管群组列表,或查询指定用户加入的托管群组。
将指定用户踢出所有群组(托管)、群组托管导入功能(托管)批量移出指定用户,或将已有非托管群组导入为托管群组。

群聊消息功能​

群聊消息功能与单聊业务类似,共用部分 API 及配置。

功能描述客户端 API融云服务端 API
发送消息可发送普通消息与媒体消息,例如文本、图片、GIF 等,或自定义消息。支持在发送消息时添加 @ 信息。发送消息发送群聊消息
发送群聊定向消息可发送普通消息与媒体消息给群组中的指定的一个或多个成员,其他成员不会收到该消息。发送群定向消息发送群聊定向消息
接收消息监听并实时接收消息,或在客户端上线时接收离线消息。接收消息不提供该 API
群聊消息已读回执发送群消息后如需要查看消息的阅读状态,需要先发送回执请求,在通过接受者的响应获取已读数据。群聊消息回执不提供该 API
离线消息支持离线消息存储,存储时间可设置(1 ~ 7 天),默认存储 7 天内的所有群消息,支持调整存储时长与存储的群消息数量。不提供该 API不提供该 API
控制离线消息推送属性接收方离线状态下,群消息可触发推送通知。通过配置消息推送属性(IPushConfig)可控制移动端接收的推送通知的展示效果及行为。发送消息不提供该 API
撤回消息消息发送成功后可撤回该条消息。撤回消息撤回消息
获取历史消息从本地数据库或远端获取历史消息。注意,从远端获取历史消息需要开通单群聊消息云端存储服务,默认存储时长为 6 个月。获取历史消息不提供该 API
获取历史消息日志融云服务端可以保存 APP 内所有会话的历史消息记录,历史消息记录以日志文件方式提供,并已经过压缩。您可以使用服务端 API 获取、删除指定 App 的历史消息日志不提供该 API获取历史消息日志
删除远端消息支持从服务端删除指定单个会话中指定消息、指定时间戳之前的消息、或会话中全部历史消息。删除远端消息消息清除
单群聊消息扩展为原始消息增加状态标识(扩展数据为 KV 键值对),提供添加、删除、查询扩展信息的接口。消息扩展单/群聊消息扩展
自定义消息类型如果内置消息类型满足不了您的需求,可以自定义消息类型。支持自定义普通消息类型与自定义媒体消息类型。自定义消息不提供该 API

默认新入群的成员的用户仅可接收加入群组后产生的消息。如果需要查看入群之前的历史消息,请为 App Key 开启以下两项服务(请注意区分开发/生产环境):

从控制台 IM 服务的服务购买页面开启单群聊消息云端存储服务。开启该服务后,可使用融云提供的消息存储服务,实现消息历史记录漫游。IM 旗舰版或IM 尊享版可开通该服务。具体功能与费用以融云官方价格说明页面及计费说明文档为准。

  • 在需先按控制台内嵌指南嵌入到管理后台的 IM 服务功能配置页面(page_code: im_service_config)开启新用户获取加入群组前历史消息。

群聊会话功能​

群聊会话功能与单聊业务类似,共用部分 API 及配置。

功能描述客户端 API融云服务端 API
获取远端会话从服务端获取会话列表,最多 1000 条。支持获取指定会话、设置为置顶的会话、未读会话。获取远端会话不提供该 API
处理会话未读消息数获取或清除会话中的未读消息数,可用于 UI 展示。会话未读数不提供该 API
删除会话从会话列表中删除指定的单个会话。删除会话不提供该 API
会话草稿保存一条草稿内容至指定会话。会话草稿不提供该 API
输入状态可设置指定的群聊会话,收到新的消息后是否进行提醒,默认进行新消息提醒。输入状态不提供该 API
管理会话标签创建和管理标签信息数据,用于对会话进行标记分组。每个用户最多可以创建 20 个标签。App 用户创建的标签信息数据会同步融云服务端。管理标签信息数据不提供该 API
设置与使用会话标签使用会话标签对会话进行分组。设置与使用会话标签不提供该 API
会话置顶在会话列表中将指定会话置顶。会话置顶会话置顶
会话免打扰控制用户在客户端设备离线时,是否可针对离线消息接收推送通知。支持按照会话或按会话类型设置免打扰。免打扰功能概述免打扰功能概述
多端同步会话免打扰/置顶状态SDK 提供了会话状态(置顶或免打扰)中同步机制,通过设置会话状态同步监听器,当在其它端修改会话状态时,可在本端实时监听到会话状态的改变。多端同步免打扰/置顶不提供该 API
多端同步阅读状态在同一用户账户的多个设备间主动同步会话的阅读状态。多端同步阅读状态不提供该 API

与聊天室和超级群的区别​

您可以通过以下文档了解业务类型之间的区别及所有功能: