• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
Unity(Game Solution)/
消息/
SDK
  • 跑通Demo
  • SDK 集成
  • 初始化
  • 登录和注销
  • 消息
    • 消息概述
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群 @ 消息
    • 定向群消息
    • 通知免打扰
    • 消息扩展
  • 会话
    • 会话概述
    • 会话列表
    • 获取会话
    • 未读会话数
    • 置顶会话
    • 删除会话
    • 会话草稿
    • 会话标记
    • 会话组
  • 群组
    • 群组概述
    • 群组管理
    • 群资料
    • 群成员管理
    • 群成员资料
    • 自定义群属性
    • 群计数器
  • 用户
    • 用户资料
    • 用户状态
    • 好友管理
    • 好友列表
    • 黑名单
  • Changelog
  • 开发指引
  • 控制台指南
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • 购买指南
    • 计费概述
    • 价格中心
  • 错误码

通知免打扰

功能描述

通过设置单聊和群聊的消息接收选项,可以实现消息免打扰的功能。 IM SDK 支持三种类型的消息接收选项,消息接收选项在 TIMReceiveMessageOpt 中定义:
消息接收选项
功能描述
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Receive
在线时正常接收消息,离线时接收离线推送通知
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive
在线和离线都不接收消息
TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Notify
在线时正常接收消息,离线时不接收离线推送通知
使用不同的 TIMReceiveMessageOpt 可以实现群消息免打扰: 完全不接收消息 消息接收选项设置为 kTIMRecvMsgOpt_Not_Receive 后,单聊/群聊的任何消息都收不到,会话列表也不会更新。
接收消息但不提醒,在会话列表界面显示小圆点(不显示未读数)
1. 消息接收选项设置为 kTIMRecvMsgOpt_Not_Notify
2. 当单聊/群聊收到新消息,会话列表需要更新时,可以通过设置会话未读消息总数变更的回调 SetConvTotalUnreadMessageCountChangedCallback 中的 total_unread_count (Details) 获取到消息未读数。
3. 根据 ConvInfoconv_recv_opt (Details) 判断获取到的消息接收选项为 kTIMRecvMsgOpt_Not_Notify 时显示小红点而非消息未读数。
说明:
此方式需使用未读计数功能,因此仅适用于好友工作群(Work)和陌生人社交群(Public)。群组类型详见 群组介绍。

设置单聊的消息接收选项

通过调用 MsgSetC2CReceiveMessageOpt(Details) 接口,设置单聊的消息接收选项。 您可以通过参数 userIDList 设置一批用户,但一次最大允许设置 30 个用户。
注意:
该接口调用频率被限制为 1 秒内最多调用 5 次。
示例代码如下:
// 设置在线和离线都不接收消息
TIMResult res = TencentIMSDK.MsgSetC2CReceiveMessageOpt(user_id_list, TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive, (int code, string desc, string user_data)=>{
// 处理异步逻辑
});

获取单聊的消息接收选项

通过调用 MsgGetC2CReceiveMessageOpt(Details) 接口,获取单聊的消息接收选项。
示例代码如下:
TIMResult res = TencentIMSDK.MsgGetC2CReceiveMessageOpt(user_id_list, (int code, string desc, List<GetC2CRecvMsgOptResult> msg_opts, string user_data)=>{
// 处理异步逻辑
});

设置群聊的消息接收选项

通过调用 MsgSetGroupReceiveMessageOpt(Details) 接口,设置群聊的消息接收选项。
示例代码如下:
TIMResult res = TencentIMSDK.MsgSetGroupReceiveMessageOpt(group_id, TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive, (int code, string desc, string user_data)=>{
// 处理异步逻辑
});