敏感信息拦截回调
注意
Web 端 SDK 从 5.0.2 版本开始支持敏感信息拦截回调。
如果您使用了融云的内容审核服务(包括消息敏感词、IM 审核服务、消息回调服务),可能希望在消息因触发审核规则而无法下发时通知消息发送方。从 SDK 5.0.2 版本开始,客户端 SDK 可以在消息被拦截时触发回调,通知消息发送方。
消息因包含敏感信息被拦截可分为以下情况:
- 文本消息内容命中了融云内置的消息敏感词,导致消息不下发给接收方。
- 文本消息内容命中了您自定义的消息敏感词,导致消息不下发给接收方。
- 消息命中了 IM 审核服务,或消息回调服务设置的审核规则,导致消息不下发给接收方。
开通服务
您可以在融云控制台,通过应用配置>IM 服务>免费基础功能>安全,开启含敏感词消息屏蔽状态回调发送端。
设置敏感信息拦截监听器
您可以通过下面的方法设置敏感词拦截监听器,监听到被拦截的消息以及拦截原因。
const listener = (blockedMessageInfo) => {
console.log('消息含有敏感信息被拦截:', blockedMessageInfo)
}
RongIMLib.addEventListener(RongIMLib.Events.MESSAGE_BLOCKED, listener)
移除监听方法及全部事件列表,详见 IMLib 文档 事件监听。
返回值说明
参数 | 类型 | 说明 |
---|---|---|
blockedMessageInfo | IBlockedMessageInfo | 含敏感信息的消息被拦截的回调参数 |
-
IBlockedMessageInfo
说明属性名称 说明 blockType 获取消息被拦截的原因,详见下方 MessageBlockType
说明。blockedMessageUId 被拦截消息的唯一 ID。 channelId 被拦截消息所在会话的频道 ID(仅适用于会话类型为超级群的消息)。 conversationType 被拦截消息所在会话的会话类型。 extra 被拦截消息的附加信息。Web SDK 从 5.3.3 版本开始支持该参数。 targetId 被拦截消息的所在会话的会话 ID。 sourceType 被拦截消息源触发类型,详见下方 MessageBlockSourceType
说明。(仅超级群)sourceContent 被拦截消息源内容对象。 sourceType
字段为1
时表示扩展内容,sourceType
为 2 时表示消息内容。(仅超级群) -
MessageBlockType
说明枚举值 数值 说明 GLOBAL 1
全局敏感词:命中了融云内置的全局敏感词 CUSTOM 2
自定义敏感词拦截:命中了客户在融云自定义的敏感词 THIRD_PARTY 3
第三方审核拦截:命中了第三方(数美)或消息回调服务(原模板路由服务)决定不下发的状态 -
MessageBlockSourceType
说明枚举值 数值 说明 MSG_ORIGINAL 0 原始消息 MSG_EXPANSION 1 消息扩展 MSG_MODIFY 2 消息修改