消息过滤

更新时间: 2024/03/14 18:45:33

网易云信 IM 提供消息过滤功能,目前支持对通知消息进行过滤。消息过滤后,SDK 将不对其进行存储,也不会上抛给消息接收回调,因此应用层不会收到对应的消息。

消息过滤仅对在线消息、离线消息、漫游消息有效。本地和云端历史记录无法过滤。

使用场景

适用于过滤用户不需要关注的消息(如群头像变更通知消息),使用户免受过多信息的干扰。

实现方法

调用 NIM.getInstance 方法实现初始化时,配置 NIMGetInstanceOptions.shouldIgnoreNotificationtrue

该初始化参数说明如下:

参数 说明
NIMGetInstanceOptions.shouldIgnoreNotification 是否过滤消息:
  • true 表示过滤(SDK 将不存储此消息,应用上层不会收到此消息)。
  • 默认 false,即不过滤(默认存储到数据库并通知应用上层)。

示例代码

如下示例代码以 SDK 过滤移除群成员通知消息为例。

NIM.getInstance({
  shouldIgnoreNotification: function(msg) {
    // 假设在你的业务场景下,移除群成员时,不需要设置群最后一条消息
    return msg && msg.attach && msg.attach.type !== "removeTeamMembers"
  }
})
此文档是否对你有帮助?
有帮助
去反馈
  • 使用场景
  • 实现方法
  • 示例代码