云端审核功能,是一款在云端(服务端)进行内容智能识别和拦截的服务:
支持对文本、图片内容同步审核,对音频、视频内容异步审核。
支持分别针对单聊、群聊、资料三大 IM 场景中产生的不同类型 UGC 内容进行策略配置。
支持配置特定终端用户产生/接收的消息不送审,支持对返回审核结果进行配置。
支持查看审核用量抵扣明细、审核结果明细、审核识别统计等数据。
支持控制台创建自定义审核场景,对非 IM 场景的 UGC 内容或者终端消息有更灵活的送审选择。
接入流程
步骤1:购买云端审核资源包
注意
步骤2:查看默认场景及策略配置
注意
开通服务后,默认为您开启图文审核场景,并配置默认审核策略(默认识别并拦截包含高风险敏感事件/人物、高风险色情/辱骂/暴恐/违禁等内容,如果您需要更严格/更宽松的审核策略,或者您需要增加中、低风险内容审核策略,请参见 审核策略配置 进行操作),您可通过点击对应模块的编辑按钮,分别更改审核场景和审核策略。
步骤3:通用审核场景配置
1. IM送审配置
打开云端审核服务开关后,默认为您开启了单聊的文本和图片审核、群聊的文本和图片审核、用户资料/群资料/群成员资料/关系链资料的文本审核。如果需要开启音频/视频审核,或者关闭图文审核开关,请点击对应场景模块右上角的管理配置。
在弹窗中勾选/取消勾选对应审核项,单击确定即可。
注意
单聊、群聊场景下,将音视/视频异步审核开启后,所有音频/视频都将正常送审并计费,对存储在腾讯云即时通信 IM 的文件会拦截。如有自定义存储的音频/视频内容,请谨慎开启!如需审核自定义存储的音频/视频内容,请通过监听音频/视频消息审核终端违规回调的方式,进行UI处理。
自定义消息检测
开启云端审核后,单聊、群聊的自定义消息默认当作文本送审。如果自定义消息结构为json,只希望送审自定义消息的部分内容,可以参见如下方式:
方式一:按预设字段过滤送审
{"To_Account":"lumotuwe5","MsgRandom":121212,"MsgBody":[{"MsgType":"TIMCustomElem","MsgContent":{"Data":"{\\"key1\\":\\"value1\\",\\"message\\":\\"hello\\",\\"IMAuditContentType\\":\\"Text\\",\\"IMAuditContent\\":\\"hello\\"}","Desc":"hello","Ext":"www.qq.com","Sound":"dingdong.aiff"}}]}
参数说明:
字段 | 类型 | 说明 |
IMAuditContentType | String | 指定送审的内容类型:Text/Image/Audio/Video。 |
IMAuditContent | String | 指定送审的内容,如果类型为:Image/Audio/Video,该字段填文件 URL。 |
说明
指定的字段,需要放置在自定义消息 json 结构体的第一层 kv 元素里面。该方式支持音视图文等消息的审核,当送审的内容为音视频的文件,违规的消息处置参见 终端违规回调。如果一条自定义消息,有多个元素需要同时送审,支持按如下配置提取相应内容送审,最多支持10个元素审核:
{"IMAuditContents":[{"IMAuditContentType":"Text","IMAuditContent":"aaaa"},{"IMAuditContentType":"Image","IMAuditContent":"https://example.qq.com/1.jpg"}]}
方式二:按固定字段送审
每种自定义消息 json 结构体按照(单)多阶 key 值使用'.'拼接(string.string)的格式填写(最多两阶),支持多种json结构体按'|'拼(string|string.string)填写(最多三种)。其中 string 字符串不超过 60 个字符。
填写固定字段 data.content|content,其中 data.content 配置针对以下两种自定义消息json 结构体过滤:
{"data":{"content": "123"},"avatar":"http://xxxxx"}{"data":"{\\"content\\":\\"123\\"}","avatar":"http://xxxxx"}
2. IM审核策略编辑
每个审核场景及内容类型均已配置默认审核策略,默认识别并拦截包含高风险敏感事件/人物、高风险色情/辱骂/暴恐/违禁等内容,如果您需要更严格/更宽松的审核策略,或者您需要增加中、低风险内容审核策略,请按照下方指引操作。
如果需要编辑审核策略,请点击对应场景及内容类型右侧的编辑策略。
文本/图片策略配置:可以修改通用识别策略配置与自定义库信息。
通用识别策略配置:勾选需要识别的风险类型。
自定义库信息:勾选需要关联的自定义词库(最多可支持设置5个自定义词库)。
音频策略配置:可以修改通用识别策略配置、截帧策略配置与自定义库信息。
通用识别策略配置:勾选需要识别的风险类型。
截帧策略配置:音频切片时长配置,支持滑动设定或填写整数,范围[1,60]。
自定义库信息:勾选需要关联的自定义词库(最多可支持设置5个自定义词库)。
视频策略配置:可以修改通用识别策略配置、截帧策略配置与自定义库信息。
通用识别策略配置:勾选需要识别的风险类型,包括对图片和音频的识别。
截帧策略配置:审核内容配置,支持仅审核视频画面、仅审核音频和全部审核;图片截帧间隔,支持滑动设定或填写整数,范围[1,60];音频切片时长配置,支持滑动设定或填写整数,范围[1,60]。
自定义库信息:勾选需要关联的自定义词库(最多可支持设置5个自定义词库)。
复制策略:图文音视的编辑策略时,单击复制策略,可以将本策略复制到下拉选择的其他场景。
3. 终端用户审核白名单配置
如果您不需要审核特定终端用户发送/接收的消息内容,您可以通过终端用户审核白名单模块进行配置。具体操作如下:
单击终端用户审核白名单配置模块的添加。
在弹窗中选择审核方式,并填入终端用户 ID,单击确定。
支持对已添加的终端用户 ID 编辑不送审方式、删除/批量删除添加白名单记录。步骤4:自定义审核场景配置
自定义审核配置,可用于主动审核和终端消息自定义送审。该配置在 IM 云端审核控制台,自定义配置中创建:
获取配置 ID:
当终端发送的消息需要指定自定义审核策略时,请通过创建自定义审核配置来获取配置 ID,在终端发消息接口中赋值;当针对不属于单聊、群聊、资料的场景(例如评论、动态、资讯等)进行音视图文内容审核时,可调用主动审核 REST API 接口,接口使用的审核策略,请通过创建自定义审核配置 来获取 配置 ID 给 AuditName 赋值。
步骤5:审核结果配置
1. 返回审核结果
审核结果可以通过配置基础回调的方式,将结果转发给 App 后台。具体操作如下:
返回审核结果开关默认关闭,如果需要打开,点击审核结果配置模块右上角的编辑,打开返回审核结果开关,单击确定。
审核结果将使用后回调发送至您在基础配置中配置的 URL 地址,如果您在开启返回审核结果开关前未配置基础回调 URL,请在打开开关时弹出的弹窗中填写基础回调 URL,详情请参见 基础回调配置。
开关开启后,内容回调的结果将通过基础回调抄送到 App 后台,支持拦截、所有结果的配置选项。注意
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
接口说明
请求 URL 示例
以下示例中 App 配置的回调 URL 为
https://www.example.com
。
示例:https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json
请求参数说明
参数 | 说明 |
https | 请求协议为 HTTPS,请求方式为 POST。 |
www.example.com | 回调 URL。 |
SdkAppid | 创建应用时在即时通信 IM 控制台分配的 SDKAppID。 |
CallbackCommand | 固定为:ContentCallback.ResultNotify。 |
contenttype | 请求包体固定为 JSON。 |
请求包示例
{"Scene":"C2C","SdkAppId":1400187352,"From_Account":"jared","ContactItem":{"ContactType":1,"To_Account":"Jonh"},"ContentType":"Text","TextContent":["aaabbbccc","1234567"],"MsgID":"1434460578_4137340972_1661154487","CtxcbResult":1,"CtxcbRequestId":"241ed925-4c56-4357-95dd-1e6e7798f214"}
请求包字段说明
字段 | 类型 | 说明 |
Scene | String | 送审场景: 单聊 = C2C。 单聊自定义消息 = C2CCustom。 群聊 = Group。 群聊自定义消息 = GroupCustom。 群资料 = GroupInfo。 群成员资料 = GroupMemberInfo。 关系链 = RelationChain。 用户资料 = UserInfo。 |
From_Account | String | 送审内容的发起者 UserID。 |
ContactItem | Object | 消息送审时,表示消息接收对象。 |
ContactType | Integer | 消息送审时,区分接受对象为群组或单聊。 ContactType = 1表示单聊。 ContactType = 2表示群聊。 |
To_Account | String | ContactType = 1时,表示消息接收方 UserID。 |
ToGroupId | String | ContactType = 2时,表示消息接收方 GroupID。 |
ContentType | String | 表示送审的内容类型: 文本 = Text。 图片 = Image。 音频 = Audio。 视频 = Video |
TextContent | String | 当 ContentType 为 Text 时,表示送审的文本内容。 |
FileURL | String | 当 ContentType 为 Image/Audio/Video 时,表示送审的文件 URL。 |
MsgID | String | 单聊送审,MsgID 为单聊消息 MsgKey;群聊送审,MsgID 为群聊消息 MsgSeq。 |
CtxcbResult | Integer | 第三方内容服务审核结果: 1:表示拦截 0:表示放过 |
CtxcbRequestId | String | 第三方内容服务审核标识。 |
CtxcbKeywords | Array | 文本命中的敏感词。 |
CtxcbSuggestion | String | 第三方内容审核服务审核建议:Block/Review/Normal。 |
CtxcbLabel | String | 审核命中的违规分类的一级标签: Illegal(违法) / Abuse(谩骂) / Polity(涉政) / Ad(广告) / Porn(色情) / Sexy(性感) / Terror(暴恐) / Composite(综合)。 |
IsRestAPI | Bool | 是否为主动审核触发的回调:false=IM内部送审触发;true=主动审核接口触发,一般为主动审核音视频结果回调。 |
应答包示例
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 // 0为回调成功,1为回调出错}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果: OK:表示处理成功。 FAIL:表示失败。 |
ErrorCode | Integer | 必填 | 错误码。 |
2. 拦截策略设置
默认仅拦截被识别为“违规”的内容,如果您需要“拦截疑似和违规”,或者设置均不拦截,请单击编辑进行操作。单击确认,2分钟后生效。
注意
拦截策略与送审策略互不影响。
3. 下发拦截错误码
针对图文同步审核,默认下发拦截错误码,即消息发送方会收到消息被拦截的错误码提示。
如果需要发送方对被消息拦截无感知,即发送方不需要收到消息下发失败的提示,可通过关闭“下发拦截错误码”开关实现。具体操作如下:
单击审核结果配置模块右上角的编辑,关闭“下发拦截错误码”开关,单击确定。
注意
步骤5:查看审核明细和抵扣明细
1. 查看审核明细
单击审核明细,可查看历史审核的明细数据。
单击审核统计,可查看当日审核用量、关键词拦截统计排行榜。
2. 查看抵扣明细
单击按钮查看抵扣明细。
支持筛选、查看特定日期内审核产生用量的具体抵扣数据(每小时更新)。
常见问题
怎么控制通过调用 REST API 接口发送的单聊/群聊消息不送审?
根据您的业务需要,在单聊 REST API 接口或者群聊 REST API 接口的 SendMsgControl 字段中指定 “NoMsgCheck” 控制字段,即可。
怎么控制通过调用终端接口发送的单聊/群聊消息不送审?
根据您的业务需要, Android / iOS & Mac / Windows 端在创建消息的时候设置消息的
isExcludedFromContentModeration
控制字段、 Web&小程序&uniapp 端在发送消息时将 messageControlInfo
的 excludedFromContentModeration
控制字段设置为 true
即可。如果发送的图片、音频或者视频消息内容在异步审核时被拦截,有什么标记?
文本和图片默认同步审核,音频和视频默认异步审核,当图片审核超过2秒时也会走异步审核。Android&iOS&Windows&Mac 端被拦截后会触发
onRecvMessageModified
(Android&iOS&Mac&Windows&Flutter)回调,回调里的 message 对象hasRiskContent
字段值为true
;Web&小程序&uniapp 端被拦截后会触发 MESSAGE_MODIFIED 回调,回调里的message
对象该字段值为true
。如果做信息导入,哪些内容会被送审?
您导入的内容都会默认送审,包括单聊/群聊消息、账号、群资料、群成员资料。
怎么能快速为同一个 sdkappid 的不同内容配置相同的审核策略?
图文音视的编辑策略时,单击策略配置下方的复制策略,可以将本策略复制到下拉选择的其他场景。
内容回调和云端审核有什么区别?
内容回调配置方案,需要客户分别在IM和内容安全控制台自行完成配置,针对不同类型内容只能生效同一种审核策略,配置流程较长、审核策略配置不够灵活。并且,内容回调服务将于23年下线(下线时间未定,会提前通知),建议您直接接入云端审核功能。
云端审核方案,支持在 IM 控制台一键开通审核服务,并且提供了默认审核策略(默认识别并拦截包含高风险敏感事件/人物、高风险色情/辱骂/暴恐/违禁等内容,如果您需要更严格/更宽松的审核策略,或者您需要增加中、低风险内容审核策略,请参见 审核策略配置 进行操作)。同时支持针对单聊、群聊、资料三大场景中产生的不同类型内容分别进行策略配置。
接入云端审核,相比接入其他第三方内容安全服务有什么优势?
如果接入的是其他第三方内容安全服务,就需要通过调用 IM 服务端提供的 第三方回调 来自行实现内容审核,内容流转如下图所示,通过第三方回调将内容发送至第三方内容审核服务,后再判断是否投递至接收方,整个过程流程较长且容易有时延。
如果接入云端审核,则云端审核发生在消息前回调之前,且不用经历下图所示的红框步骤,大大提升了用户使用体验。