开发指南
addMessageBlockedListener和removeMessageBlockedListener方法从 SDK 1.3.0 版本开始支持。
默认情况下,消息发送方无法感知消息是否已被融云审核服务拦截。如果 App 希望在消息因触发审核规则而无法下发时通知消息发送方,可开通使用敏感信息拦截回调服务。
该回调仅适用于用户通过客户端 SDK 发送的消息:消息被审核服务拦截时,发送用户的 SDK 端会触发回调。通过 Server API 发送的消息如果命中敏感词或审核规则,客户端 SDK 不会收到敏感信息拦截监听回调;App 服务端可通过全量消息路由或审核结果回调等服务端回调获知结果,并自行决定是否通知用户。
融云的内容审核服务(包括消息敏感词、IM 审核服务、消息回调服务),可能在以下情况下拦截消息:
- 文本消息内容命中了融云内置的消息敏感词,导致消息不下发给接收方。
- 文本消息内容命中了您自定义的消息敏感词(屏蔽敏感词),导致消息不下发给接收方。
- 消息命中了 IM 审核服务,或消息回调服务设置的审核规则,导致消息不下发给接收方。
开通服务
您可以在需先按控制台内嵌指南嵌入到管理后台的 IM 服务功能配置页面(page_code: im_service_config)中,进入 安全&审核 > 含敏感词消息屏蔽状态回调发送端,开启此功能。
添加和移除敏感信息拦截监听器
您可以通过 addMessageBlockedListener 方法添加敏感词拦截监听器,监听到被拦截的消息以及拦截原因。
提示
- 您需要将监听器设置的时机放在调用 IMLib SDK 连接接口之前,初始化 IMLib SDK 之后,保证与融云服务端建立 IM 连接后的第一时间获取到拦截回调。
- 建议将监听器设置给单例对象,保证整个 App 生命周期内监听器的设置都是有效的。
MessageBlockedListener 接口定义
TypeScript
interface MessageBlockedListener {
onMessageBlocked: (blockInfo: MessageBlockInfo) => void;
}
接口原型
TypeScript
public addMessageBlockedListener(listener: MessageBlockedListener): void
public removeMessageBlockedListener(listener: MessageBlockedListener): void
注意
addMessageBlockedListener和removeMessageBlockedListener需要配合使用,避免内存泄露。- 重复 add 同一个 Listener 对象,只有第一个 Listener 会被 add。