声网实时音频对接说明
方案架构图
下图展示了从发起反垃圾请求到处理违规情况的整体方案架构图。其中,“你的业务逻辑”展示了针对审核结果的示例处理策略。你也可以结合自己的业务场景,采取不同策略。
调用时序图
短期房间
长期房间
接入说明
准备工作
开通反垃圾功能
易盾控制台获取接入秘钥
准备监听uid/token
准备监听uid/token
反垃圾SDK的uid号段预留,uid需要自定义,不能与房间内所有用户uid相同,长度不超过32位整形。
建议您预留uid号段提供给音频反垃圾SDK加入音视频房间进行反垃圾服务;uid不能与房间内其他用户冲突,32 位无符号整数。 声网文档说明
准备反垃圾SDK的uid授权进入房间的token
方案1
一次性token,适用于实际房间最长24小时短期房间
方案2
针对公开房间,无需token,提交url中token可不传,url格式:agora://uid@app/channel
准备反垃圾结果接收地址(callbackURL)
用于接收反垃圾异常检测结果,离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。
提交反垃圾检测
完成鉴权流程后,您需要将反垃圾SDK所需加入的频道名(channelName)、token以及反垃圾SDK对应的uid按如下格式生成http请求,并提交检测接口,不同场景的提交检测地址有所不同:
场景1:短期房间,准备允许短期周期内一直有效的监听token 提交URL:agora://uid:token@appid/channelName
场景2:长期房间,已提供获取最新有效token的api,供易盾token失效时重新加入房间 提交URL:agora://appid/channelName
场景3:公开房间,无需传入token 提交URL:agora://uid@appid/channelName
接口地址
https://as.dun.163.com/v3/liveaudio/check
接口描述
提交直播语音的URL进行语音内容检测
请求参数
公共参数已省略,详细见 请求公共参数,其他参数如下:
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
url | String | Y | 1024 | 场景1:短期房间,准备允许短期周期内一直有效的监听token,提交URL:agora://uid:token@appid/channelName;场景2:长期房间,已提供获取最新有效token的api,供易盾token失效时重新加入房间,提交URL:agora://appid/channelName,请注意,提交token需要进行URLEncode;场景3:公开房间,无需传入token提交URL:agora://uid@appid/channelName |
title | String | N | 512 | 直播语音标题 |
ip | String | N | 128 | 用户IP地址 |
account | String | N | 128 | 用户唯一标识,如果无需登录则为空 |
deviceId | String | N | 128 | 用户设备 id |
version | String | Y | 4 | 接口版本 v3.1 |
deviceType | Number | N | 4 | 用户设备类型,1:web, 2:wap, 3:android, 4:iphone, 5:ipad, 6:pc, 7:wp |
callback | String | N | 512 | 数据回调参数,调用方根据业务情况自行设计,当调用文本离线结果获取接口时,该接口会原样返回该字段,详细见直播音频离线检测结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。 |
callbackUrl | String | N | 512 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
响应结果
响应字段如下,响应公共字段已省略,详细见响应公共字段:
result 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
status | Number | 请求结果,0为成功,1为失败 |
接收审核结果
- 主动接收结果(推荐,结果获取更实时):
通过在提交检测接口提交callbackURL,主动获取检测结果,主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。
- 被动接收结果:
您也可以通过定时轮询结果获取接口的方式获得结果;
停止音频反垃圾
停止音频反垃圾分为两种场景进行实现:
- 当房间结束时;
- 某一时刻,当前音频房间内不再需要音频反垃圾检测服务时; 您需要调用停止检测接口实现停止检测。
停止检测接口:
接口地址
https://as-liveaudio.dun.163yun.com/v1/liveaudio/feedback
接口描述
实时更新直播中的直播语音信息
请求参数
公共参数已省略,详细见 请求公共参数,其他参数如下:
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | Y | 4 | 接口版本v1.0 |
feedbacks | String | Y | - | 直播信息更新数据(Json数组) |
feedbacks字段原始数组结构
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
taskId | String | Y | - | 直播音频taskId |
status | Number | N | 3 | 直播音频开播状态, 100:下播 |
响应结果
响应字段如下,响应公共字段已省略,详细见[响应公共字段]https://support.dun.163.com/documents/588434426518708224?docId=588872712754794496):
result 数组结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 直播音频taskId |
result | Number | 请求结果,0成功,1失败,2数据不存在 |