跳到主要内容

免打扰功能概述

即时通讯客户端 SDK 支持多维度、多级别精细化的免打扰设置。

在免打扰设置生效时,客户端收到新消息时行为如下:

  • 客户端在后台运行:会话中有新消息时,将不会进行通知提醒,但可以收到消息内容。
  • 客户端为离线状态:会话中有新消息时,不会收到远程通知提醒,再次上线时可收取消息内容。

IM 的免打扰设置维度

即时通讯业务支持对免打扰功能进行多维度地控制。开发者可从 App Key、特定的 IM 细分业务(目前仅超级群)、用户级别进行免打扰功能配置。

融云服务端会遵照以下优先级搜索免打扰配置,判断当前消息是否需要触发推送:用户级别设置 > 指定超级群频道的默认配置 > 指定超级群会话的默认配置 > App Key 级设置。

免打扰配置的维度适用场景说明客户端 API服务端 API
App Key 级设置单聊、群聊、超级群以 App Key 为单位,设置整个应用的默认免打扰级别。默认未设置,等同于全部消息都接收通知。该级别的配置暂未在控制台开放,如有需要,请提交工单。客户端 SDK 不提供 API。服务端不提供该 API。
指定超级群默认设置仅限超级群业务可为指定的超级群设置默认的免打扰级别。详见「超级群管理」下的设置群/频道默认免打扰详见「超级群管理」下的设置群/频道默认免打扰
指定超级群频道的默认设置仅限超级群业务可为指定的超级群设置默认的免打扰级别。详见「超级群管理」下的设置群/频道默认免打扰详见「超级群管理」下的设置群/频道默认免打扰
用户级设置单聊、群聊、超级群用户级别免打扰设置如下(优先级从高到低):
  1. 设置指定时段内,应用全局的免打扰级别。
  2. (仅超级群)设置指定频道的免打扰级别。
  3. 设置指定会话的免打扰级别。
  4. 设置指定类型会话的免打扰级别。


在融云服务端判断是否需要推送通知时,如存在用户级别免打扰配置,则遵照以上优先级判断是否需要推送。
  1. 详见「全局配置」下全局免打扰
  2. 详见超级群业务/按频道设置免打扰
  3. 详见按会话设置免打扰
  4. 详见按会话类型设置免打扰
  1. 不提供该 API。
  2. 详见设置会话免打扰
  3. 详见设置会话免打扰
  4. 详见设置会话类型免打扰

支持的免打扰级别

免打扰级别提供了针对不同 @ 消息的免打扰控制。

免打扰级别定义在RCIMPushNotificationLevel枚举中。

支持以下级别

枚举值数值说明
RCIMPushNotificationLevel.ALL_MESSAGE0所有消息均可进行通知。
RCIMPushNotificationLevel.NONE1未设置。未设置时均为此初始状态。

注意:在此状态下,如果超级群与群频道均为未设置,则认为超级群与频道的默认免打扰级别为全部消息都通知。
RCIMPushNotificationLevel.MENTION2仅针对 @ 消息进行通知,包括 @指定用户 和 @所有人
RCIMPushNotificationLevel.MENTION_USERS3仅针对 @ 指定用户消息进行通知,且仅针对被 @ 的指定的用户进行通知。

如:@张三,则张三可以收到推送; @所有人不会触发推送通知。
RCIMPushNotificationLevel.MENTION_ALL4仅针对 @群全员进行通知,即只接收 @所有人的推送信息。
RCIMPushNotificationLevel.BLOCKED5不接收通知,即使为 @ 消息也不推送通知。