私有频道概述
超级群服务支持创建私有频道,满足社区场景中只有指定用户可以在频道中沟通的业务需求。
在使用私有频道功能前,建议先阅读超级群概述,了解在 App 业务中如何使用频道。
已知限制
私有频道功能目前有以下限制:
用户即使不在私有频道成员列表中,发送消息会失败,但消息仍会进入本地数据库。如果用户未在私有频道成员列表中,但仍往频道中发送消息,此时消息无法成功发送到服务端,但会进入本地数据库,并可生成会话。
建议解决方案:开发者在 App 业务侧维护一份私有频道成员列表数据,如果用户未在私有频道成员列表中,禁止用户往私有频道发送消息。
了解私有频道
客户端不提供创建私有频道、变更频道类型的 API。请通过服务端 API 实现。
超级群的频道按类型区分为公有频道与私有频道。公有频道对所有超级群成员开放(无需加入)。该超级群的所有成员都会接收公有频道下的消息。私有频道仅对该频道的成员列表开放,仅频道成员可在该频道中收发消息、接收频道状态变化的通知。私有频道可以随时切换为公有频道,公有频道也可以切换为私有频道。
例如,管理员在社区中新创建一个频道,并定义为私有频道。接着邀请社区中部分成员加入私有频道。只有加入频道的成员才可以浏览此频道,并在频道中接收、发送消息。
频道变更会影响该频道下服务端历史消息的拉取权限,具体如下:
- 公有频道转换为私有频道:仅当前私有频道成员列表中的用户可以拉取该频道下的历史消息(含原公有频道消息);
- 私有频道转换为公有频道:所有超级群用户均可拉取该频道下的历史消息(含原私有频道消息)。
您可以通过以下方式管理私有频道:
功能描述 | 客户端 API | 融云服务端 API |
---|---|---|
创建私有频道 | 不提供该 API | 创建频道 |
删除私有频道 | 不提供该 API | 删除频道 |
查询频道列表 | 不提供该 API | 查询频道列表 |
变更频道类型 | 不提供该 API | 变更频道类型 |
了解私有频道成员列表
客户端 SDK 不提供管理私有频道成员列表的 API。您可以调用服务端 API 查询私有频道成员列表、或将超级群成员加入、移出成员列表。
频道类型为私有频道时,只有该列表中用户可在频道中的收发消息、接收频道内状态通知。
私有频道转为公有频道时,频道变更为对所有超级群成员开放。但该列表数据不会被删除。假设频道类型再次变更为私有,则启用该成员列表。
您也可以为公有频道创建私有频道成员列表。一旦该公有频道变更类型为私有频道,该列表即生效。
- 删除频道时,服务端会清除该频道的私有频道成员列表。
- 一旦超级群成员退群,服务端会自动将用户从私有频道成员列表移除。
您可以通过以下方式管理私有频道成员列表:
功能描述 | 客户端 API | 融云服务端 API |
---|---|---|
加入私有频道成员列表 | 不提供该 API | 添加私有频道成员 |
移出私有频道成员列表 | 不提供该 API | 删除私有频道成员 |
查询私有频道成员列表 | 不提供该 API | 查询私有频道成员列表 |