主题
1.使用须知
WebRTC兼容性支持列表
在iOS 14.3及以上版本,WKWebView增加了对WebRTC的支持。因此,微信、第三方浏览器和App需要在IOS 14.3及以上版本上才能支持WebRTC功能。对于第三方iOS端App,若未使用WKWebView,则需查看所用的WebView是否支持WebRTC功能来确定是否支持WebRTC。
客户端 Android 版本 iOS 版本 鸿蒙版本Edge/Chrome/QQ Android 8.1 及以上版本大部分支持, 8.1 以下部分支持 iOS 14.3 及以上版本 2.0以上 Safari 浏览器 不支持 iOS 11 及以上版本 不支持 UC Android 9.0 及以上版本 不支持 5.0以下 UC 极速浏览器 不支持 不支持 不支持 厂商内置浏览器 大部分机器支持等部分机型支持, 如三星,华为,oppo,vivo, 小米 无 2.0以上 微信(App) Android 9.0 及以上版本 iOS 14.3 及以上版本 2.0以上 App Android 9.0 及以上版本且使用的 WebView 支持 WebRTC iOS 14.3 及以上版本且使用 IOS 自带 WKWebView 2.0以上
2.接入流程
2.1获取H5实时活体URL与认证单据号
通过服务端接入流程获取h5Url与单据号。
2.2打开web地址
window.location.href=`${h5Url}${h5Url.includes('?') ? '&': '?'}redirectUrl=${encodeURIComponent(redirectUrl)}&certifyId=${certifyId}&token=${token}`h5Url: 初始化返回H5实时活体地址。
redirectUrl: 接收H5实时活体返回信息地址,需要用encodeURIComponent进行编码。
certifyId: 活体认证唯一单据号。
token: 通过接口认证获取必要的token信息。
认证结果接收
js
`${callbackUrl}?response={code:'${code}',certifyId:'${certifyId}'}`说明: response的内容是JSON序列化后并encodeURIComponent后的值, 使用时先decodeURIComponent, 后JSON.parse解析后使用。
打开h5Url以后,认证结束会通过打开传递的redirectUrl参数进行跳转。
2.3拿到回调结果,通过服务端再次确认结果
| 码值 | 是否成功 | 是否计费 | 描述 |
|---|---|---|---|
| 00000000 | 是 | 是 | 成功 |
| 80003612 | 否 | 是 | 活检场景存在风险 |
| 80002910 | 否 | 否 | 单个动作超过认证时长 |
| 80002915 | 否 | 否 | 活体检测失败 |
| 80002902 | 否 | 否 | 回调地址不能为空 |
| 80002907 | 否 | 否 | 场景码有误 |
| 80002900 | 否 | 否 | 初始化失败 |
| 80002901 | 否 | 否 | 单据号不能为空 |
| 80002903 | 否 | 否 | 单据号不存在或已过期 |
| 80002904 | 否 | 否 | 回调地址有误 |
| 80002905 | 否 | 否 | 初始化异常:资源用完 |
| 80002908 | 否 | 否 | 单据号已使用,请勿重复初始化 |
| 80002927 | 否 | 否 | 动作未做完中断 |
| 00006232 | 否 | 否 | 刷脸未完成 |
| 00009811 | 否 | 否 | 动作超时 |
| 00009814 | 否 | 否 | 动作验证失败 |
| 00009800 | 否 | 否 | 摄像头权限拒绝 |
| 00009801 | 否 | 否 | 初始化摄像头打开失败 |
| 00009803 | 否 | 否 | 缺少输入参数 |
| 00009807 | 否 | 否 | 网络错误 |
| 00009809 | 否 | 否 | API请求错误 |
| 00009812 | 否 | 否 | 鉴权过期 |
| 00009817 | 否 | 否 | 获取方案配置出错 |
| 00009818 | 否 | 否 | 用户页面隐藏 |
| 00009819 | 否 | 否 | 不支持实时活体 |
2.问题反馈
反馈问题时请附加页面截图/视频、请求入参回参等关键信息。