跳到主要内容

免打扰

Global IM UIKit 支持免打扰功能。会话免打扰功能开箱即用,支持通过 UI 操作 或 Global IM UIKit 的 API 控制。如果需要全局免打扰,可通过 IMLib SDK 的 API 实现。

免打扰状态将会被同步到服务端,融云会为用户自动在设备间同步免打扰状态数据。

设置会话免打扰

Global IM UIKit 允许用户在 UI 上设置会话为免打扰状态。设置成功后,如果用户在线时收到新的消息,仍可以收到消息内容,但 Global IM UIKit 不会发出铃声或通知栏提醒。如果客户端为离线状态,系统将不会收到远程通知提醒。

通过 UI 更改会话免打扰状态

Global IM UIKit 在 UI 中实现了两种更改会话免打扰状态的方法。会话列表中处于免打扰状态的会话未读数置灰展示。

  • 会话列表中,可以长按单个会话,展示免打扰开关
  • 会话页面中,展开更多选项,展示免打扰开关

alt(width=250) alt(width=250)

通过 API 更改会话免打扰状态

Global IM UIKit 在 RCChatListViewModel 中提供了控制会话免打扰状态的 API。推荐使用 RCChatListViewModel 提供的 toggleNotification:setNotificationLevel:forChatModels: 接口,Global IM UIKit 内部会处理 IMLib SDK 层的接口调用和页面刷新。

设置会话免打扰级别

Global IM UIKit 的免打扰功能默认仅支持实现提醒或不提醒。IMLib SDK 提供更精细的免打扰控制能力(例如,仅接收 @所有人的提醒),您可以使用 IMLib 的 API 设置和查询免打扰状态。

请移步至 IMLib SDK 文档按会话设置免打扰

提示

如果使用 IMLib SDK 能力,请使用 ChannelClient 中的 API。

设置全局免打扰

全局免打扰功能支持设置一个从任意时间点(HH:MM:SS)开始的免打扰时间窗口。在再次设置或删除用户免打扰时间段之前,当次设置的免打扰时间窗口会每日重复生效。例如,App 用户希望设置永久全天免打扰,可设置 startTime00:00:00period1439

Global IM UIKit 未直接在 UI 或 API 层提供设置入口。您需要使用 IMLib SDK 中的方法设置全局免打扰时段。

请移步至 IMLib SDK 文档设置全局免打扰

/android-imlib/notification/do-not-disturb

提示

如果使用 IMLib SDK 能力,请使用 ChannelClient 中的 API。推荐支持同时配置「免打扰级别」的接口。