API 参考
圈组

圈组功能概览

更新时间: 2024/03/14 16:34:39

圈组是网易云信IM即时通讯服务的全新能力,可用来帮助您构建“类Discord即时通讯社群”。圈组与单聊(点对点聊天)、群聊、聊天室一起构成网易云信IM即时通讯服务的四大能力模块。

您可以安装圈组示例 App 或跑通示例项目源码,快速体验“类 Discord” 社群应用方案。相关详情请参见各端的《体验圈组 Demo》文档。

Discord 是一家集语音、视频以及文字信息交流方式于一体的服务软件,让用户创建专属空间与志同道合的朋友畅快沟通。与传统社交软件相比,Discord 为用户提供了一个多层次且集中的交流空间。Discord 更多详情请参见 Discord 官网。

圈组主要概念

圈组服务器

圈组服务器(Server)并非传统意义上的服务器,它是社群本身。所有的内容、兴趣、话题、关系都是以此为基础进行发展的。在圈组的场景下,用户首先需要创建一个圈组服务器,才能进行其他动作。圈组服务器是关系的集合,用户邀请朋友是以圈组服务器的维度去发起邀请的,即用户的朋友加入的是圈组服务器。

圈组服务器的属性包括名称、图标、自定义字段等。

圈组服务器相关的服务端集成说明请参见圈组服务器管理圈组服务器成员管理

频道

频道(Channel)是社群里的话题承载者。所有频道都要在圈组服务器下创建。只有圈组服务器的成员才有可能访问该服务器的频道。

频道分为公开频道和私密频道。

类型 说明

公开频道

  • 对任意圈组服务器成员都可见。
  • 支持配置黑名单控制访问权限。黑名单支持配置身份组所有成员或单个成员。

私密频道

  • 对任意圈组服务器成员都不可见。
  • 支持配置白名单,控制对谁可见。白名单支持配置所有身份组成员和单个成员。

频道的属性包括名称、主题、自定义字段等。

频道相关的服务端集成说明请参见频道管理

身份组

身份组是圈组功能的权限管理系统。身份组的具体功能介绍和相关服务端集成说明请参见身份组系统

圈组功能优势

优势 说明
二级结构 圈组通过“服务器(Server)-频道(Channel)”二级结构组织成员和沉淀内容,通过身份组提供灵活多样的权限管理机制。
满足多场景通讯需求 频道内支持发送文字、图片、音频、视频、文件、自定义消息等多种即时消息。我们还将持续迭代对云信音视频等云信融合通信技术服务的集成支持,满足用户的多场景通讯需求。
多种消息接收策略 您可通过自定义服务器、频道订阅策略实现多样的消息接收模式。人数少于服务端设置阈值的服务器频道默认订阅接收全部消息,超过阈值的服务器频道可按需订阅。具体订阅机制请参见圈组订阅机制
高性能网络接入 圈组以云信SDK和API的形式提供服务,基于WE-CAN(全球传输大网)提供高质量低延迟的网络接入能力。

整体.png

圈组功能架构

圈组的核心目的是帮助客户构建“类 Discord” 的即时通讯产品,所以在形态上要极度符合相关结构,具体包括:

  • Server-Channel 二级结构 (详见圈组二级结构详情
  • 原子化权限管理系统——身份组系统
  • 基于人数的推送能力
  • 消息互动
  • 多样化频道类型

圈组.png

目前云信圈组的实时互动频道只支持音视频通话能力,直播和点播即将上线,敬请期待。

圈组二级结构详情

传统群组问题

群组通常包含两大元素:人和内容。在传统群组里,人和内容是强结合的,群组既承载人,也输出内容。这种强结合关系在群组规模逐渐壮大变为社群时,容易出现“少部分人说话、大部分人围观”的成员活跃问题。随着社群规模继续扩大,如仍采用传统的群组(或聊天室)模式,会加剧这个问题。

二级结构如何解决问题

Server-Channel 二级结构正是解决大社群成员活跃问题的好方法。

一个圈组服务器可包含有多个频道。用户因为圈组服务器的主题而聚集在一起,又因为不同话题(如兴趣和目的)的分散而去到不同的频道发生互动。按照话题拆分,不同的频道有各自不同的玩法规则和内容沉淀。大部分来到圈组服务器的成员可以按照想法快速去到自己所想要去到的频道。以去乐园游玩进行类比,圈组服务器就是乐园,频道就是乐园里的游乐设施。

这实现了如下两点目的:

  • 成员被分散到各个频道,每个人的表达内容得到了重视。
  • 成员属于同一个圈组服务器,成员间的关系没有被打散。

圈组二级结构示例如下图所示:

圈组二级结构.png

圈组订阅机制

一般情况下,圈组内消息与系统通知的接收受订阅机制限制。当用户登录到圈组服务器后,需要先订阅相关频道或者圈组服务器,才能收到相关频道和圈组服务器的消息和系统通知。

免除限制的情况

下列条件下,服务器或频道的成员接收消息和系统通知不受订阅机制限制。

  • 成员数量小于 2,000 (可联系商务经理调整该阈值)的频道或服务器,即使不订阅,其成员也能收到这些服务器/频道的消息和系统通知。
  • 被@的账号(非@所有人),即使没有订阅也会收到消息。
  • 针对某些成员发送的系统通知(区别于发送给频道内所有人或者服务器内所有人),即使没有订阅这些成员也会收到通知。

订阅策略

订阅策略 说明 通知接收差异
策略 1 订阅某个频道的消息和系统通知,默认可订阅 100 个频道。 客户端接收频道内每条消息的实时通知。
策略 2 订阅某个频道的消息未读数变化和系统通知,默认可订阅 500 个频道。 客户端接收频道内每条消息的摘要(如消息id、消息发送时间点)通知,用于更新本地的未读计数,且在未读计数达到上限后(默认 99)不再下发摘要通知。
策略 3 订阅某个频道的消息未读状态变化和系统通知,默认可订阅 1,000 个频道。 客户端接收频道内每条消息的摘要(如消息id、消息发送时间点)通知,用于更新本地的未读计数,且未读数大于 0 就不再下发摘要通知。
策略 4 订阅某个服务器的系统通知,默认可订阅 2,000 个服务器。 N/A

用户在使用消息订阅系统时,可以选择自己关注的服务器/频道进行订阅,最优方案是订阅当前页面所在服务器/频道(订阅策略 1),其他服务器/频道选择订阅策略 2 或者 3,当用户切换页面到其他服务器和频道后,将新的服务器/频道设置为订阅策略 1,并获取一次最近历史消息。

此文档是否对你有帮助?
有帮助
去反馈
  • 圈组主要概念
  • 圈组服务器
  • 频道
  • 身份组
  • 圈组功能优势
  • 圈组功能架构
  • 圈组二级结构详情
  • 传统群组问题
  • 二级结构如何解决问题
  • 圈组订阅机制
  • 免除限制的情况
  • 订阅策略