跳到主要内容

私有频道概述

超级群服务支持创建私有频道,满足社区场景中只有指定用户可以在频道中沟通的业务需求。

已知限制

提示

私有频道功能目前有以下限制

用户即使不在私有频道成员列表中,发送消息会失败,但消息仍会进入本地数据库。如果用户未在私有频道成员列表中,但仍往频道中发送消息,此时消息无法成功发送到服务端,但会进入本地数据库(不适用于 Web 端),并可生成会话。

建议解决方案:开发者在 App 业务侧维护一份私有频道成员列表数据,如果用户未在私有频道成员列表中,禁止用户往私有频道发送消息。

了解私有频道

提示

客户端不提供创建私有频道、变更频道类型的 API。请通过服务端 API 实现。

超级群的频道按类型区分为公有频道与私有频道。公有频道对所有超级群成员开放(无需加入)。该超级群的所有成员都会接收公有频道下的消息。私有频道仅对该频道的成员列表开放,仅频道成员可在该频道中收发消息、接收频道状态变化的通知。私有频道可以随时切换为公有频道,公有频道也可以切换为私有频道。

例如,管理员在社区中新创建一个频道,并定义为私有频道。接着邀请社区中部分成员加入私有频道。只有加入频道的成员才可以浏览此频道,并在频道中接收、发送消息。

频道变更会影响该频道下服务端历史消息的拉取权限,具体如下:

  • 公有频道转换为私有频道:仅当前私有频道成员列表中的用户可以拉取该频道下的历史消息(含原公有频道消息);
  • 私有频道转换为公有频道:所有超级群用户均可拉取该频道下的历史消息(含原私有频道消息)。

您可以通过以下方式管理私有频道:

功能描述客户端 API融云服务端 API
创建私有频道不提供该 API创建频道
删除私有频道不提供该 API删除频道
查询频道列表不提供该 API查询频道列表
变更频道类型不提供该 API变更频道类型

了解私有频道成员列表

提示

客户端 SDK 不提供管理私有频道成员列表的 API。您可以调用服务端 API 查询私有频道成员列表、或将超级群成员加入、移出成员列表。

频道类型为私有频道时,只有该列表中用户可在频道中的收发消息、接收频道内状态通知。

私有频道转为公有频道时,频道变更为对所有超级群成员开放。但该列表数据不会被删除。假设频道类型再次变更为私有,则启用该成员列表。

您也可以为公有频道创建私有频道成员列表。一旦该公有频道变更类型为私有频道,该列表即生效。

提示
  • 删除频道时,服务端会清除该频道的私有频道成员列表。
  • 一旦超级群成员退群,服务端会自动将用户从私有频道成员列表移除。

您可以通过以下方式管理私有频道成员列表:

功能描述客户端 API融云服务端 API
加入私有频道成员列表不提供该 API添加私有频道成员
移出私有频道成员列表不提供该 API删除私有频道成员
查询私有频道成员列表不提供该 API查询私有频道成员列表