圈组订阅机制

更新时间: 2023/07/21 06:56:54

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

免除订阅的情况

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

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

订阅方法

订阅圈组服务器

调用subscribeServer方法即可订阅圈组服务器。该方法的入参结构SubscribeServerOptions中需传入订阅类型(具体见下文的订阅类型),订阅操作类型(订阅或取消订阅)和需要订阅的serverId列表。

注意的是,调用该方法时可传入的订阅类型枚举值,仅能为4,即订阅服务器的消息和服务器相关系统通知,如服务器基本信息修改、人员进出、权限变更、创建频道等。

  • 用户所参与事件(即为事件当事人)的系统通知,如被邀请加入服务器、被踢出服务器等,用户不需要订阅也能收到。
  • 用户未参与事件的系统通知,在服务器人数大于默认阈值(2000 人)时,需要用户订阅服务器后,才能收到。 如服务器人数小于默认阈值,用户不订阅服务器,也能收到这类系统通知。

示例代码如下:

const qchat = new QChat(options);
qchat.qchatServer.subscribeServer({
"type": 4,
"opeType": 1,
"servers": [
    {
    "serverId": "123456"
    }
]
})

订阅频道

调用subscribeChannel方法即可订阅频道。该方法的入参结构为SubscribeChannelOptions,需传入需要传入订阅类型(具体见下文的订阅类型)、订阅操作类型(订阅或取消订阅)和待订阅的serverId+channelId列表。

示例代码如下:

const qchat = new QChat(options);
qchat.qchatChannel.subscribeChannel({
  "type": 1,
  "opeType": 1,
  "channels": [
    {
      "serverId": "",
      "channelId": ""
    }
  ]
})

订阅服务器下所有频道

如果服务器下频道数量不超过 200,则用户A 可调用subscribeAllChannel方法一次性订阅服务器下所有的频道。该方法的入参结构为SubscribeAllChannelOptions,需要传入订阅类型(具体见下文的订阅类型)和serverId列表

通过subscribeAllChannel订阅频道,单次调用可传入的服务器 ID 数量上限为 10 个。且即使多次调用,单个服务器下最多仅能订阅 200 个 频道。

示例代码如下:

js// 初始化SDK
const qchat = new QChat({...options})
// 订阅服务器下所有的频道的未读数
qchat.qchatServer.subscribeAllChannel({
    "type": 2,
    "serverIds": []
})

订阅类型

各订阅类型说明如下:

枚举值
订阅类型
订阅后接收的信息
1 订阅某个频道的消息和系统通知,单用户默认最多可订阅 100 个频道 频道的消息和频道相关系统通知。
2 订阅某个频道的消息未读数和系统通知,单用户默认最多可订阅 500 个频道 频道的未读数(默认上限 99)和频道相关系统通知
3 订阅某个频道的消息未读状态和系统通知,单用户默认最多可订阅 1000 个频道 频道的未读状态和频道相关系统通知。未读状态仅区分未读数为 0 和未读数大于 0 两种情况
4 调用subscribeServer方法时需传入的type值,用于订阅某个服务器的系统通知,单用户默认最多可订阅 2000 个服务器 服务器相关系统通知,如服务器基本信息修改、人员进出、权限变更、创建频道等
5 订阅某个频道的“消息正在输入”事件,单用户默认最多可订阅 100 个频道 “消息正在输入”事件信息
注意:该事件信息的接收,不受服务器人数阈值的影响,即无论服务器人数是否超过阈值,用户都需要先订阅该事件,才能接收到事件信息。在频道界面上显示“消息正在输入”的实现流程,请参见消息正在输入
此文档是否对你有帮助?
有帮助
去反馈
  • 免除订阅的情况
  • 订阅方法
  • 订阅圈组服务器
  • 订阅频道
  • 订阅服务器下所有频道
  • 订阅类型