跳转至

免打扰

设置会话的提醒状态来实现免打扰功能。可以设置单个会话的免打扰,和所有会话的免打扰。

提示

  1. 单个会话免打扰,可以屏蔽某个会话的通知提醒和推送。
  2. 所有会话免打扰。可以屏蔽某一个时间段免打扰,也可以设置全天免打扰。

单个会话免打扰

参数 类型 说明
DO_NOT_DISTURB(0) int 会话免打扰状态
NOTIFY(1) int 会话提醒状态

当会话状态为 DO_NOT_DISTURB 时,客户端将不会收到消息推送。您也可以根据此状态,调整收到在线消息时的处理逻辑,如屏蔽后台通知和提示音等。

设置会话提醒状态

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id
notificationStatus Conversation.ConversationNotificationStatus 是否屏蔽
callback ResultCallback 状态的回调

代码示例:

public void setConversationNotificationStatus(final Conversation.ConversationType conversationType, final String targetId, final Conversation.ConversationNotificationStatus notificationStatus, final ResultCallback<Conversation.ConversationNotificationStatus> callback)

获取会话提醒状态

参数说明:

参数 类型 必填 说明
conversationType Conversation.ConversationType 会话类型
targetId String 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id
callback ResultCallback 状态的回调

代码示例:

public void getConversationNotificationStatus(final Conversation.ConversationType conversationType, final String targetId, final ResultCallback<Conversation.ConversationNotificationStatus> callback)

注意事项 (所有会话列表模块都需要此前提条件)

会话提醒状态是保存在融云服务器的,在第一次登录应用时,先通过此方法到服务器同步一下会话提醒状态。

所有会话免打扰

通过此方法设置通知免打扰之后,在所设置的免打扰时间段内,如果应用处于离线状态(即和融云服务器处于断开连接的状态),将不会收到消息推送。

如果处于非离线状态,客户端是仍然可以收到消息的,此时的消息是否提醒逻辑由您自己实现。

设置通知免打扰时间段

参数说明:

参数 类型 必填 说明
startTime String 起始时间 格式 HH:MM:SS
spanMinutes int 设置的免打扰结束时间距离起始时间的间隔分钟数。
callback OperationCallback 消息通知免打扰时间回调

代码示例:

public void setNotificationQuietHours(final String startTime, final int spanMinutes, final OperationCallback callback)

提示

  1. spanMinutes 是指您设置的免打扰结束时间距离起始时间的间隔。比如,您设置的起始时间是 00:00, 结束时间为 23:59,则 spanMinutes 为 23 * 60 + 59 = 1339 分钟。

取消通知免打扰

参数说明:

参数 类型 必填 说明
callback OperationCallback 移除消息通知免打扰时间回调

代码示例:

public void removeNotificationQuietHours(final OperationCallback callback)