错误处理
Flutter SDK 的所有错误处理均集中在本节。onErrorUnico、onErrorSelfie 和 onErrorDocument 回调会接收一个 UnicoError 对象,该对象提供 getCode() 和 getDescription() 方法。
错误代码
| 代码 | 描述 |
|---|---|
73001 | 上下文无效 |
73002 | 未授予打开摄像头的权限 |
73003 | 最低 API 版本为 21 (LOLLIPOP) |
73004 | 找不到接口回调实现 iAcessoBioSelfie |
73005 | 找不到接口回调实现 iAcessoBioDocument |
73006 | 无法在模拟器上打开摄像头 |
73100 | 无法连接到互联网 |
73200 | 请提供 JSON 文件名 |
73202 | 无法解析 JSON 文件 |
73300 | 无法获取 unico 认证对象 |
73301 | 无法解 析对象 |
73302 | 找不到 unico token |
73303 | 当前 host 未注册 |
73400 | 无法初始化摄像头 |
73500 | 无法获取会话 token — 服务响应错误 |
73501 | 无法解析对象 |
73502 | 无法获取会话 token |
73701 | 找不到 active liveness 导入 |
73702 | 无法在生产模式下初始化 active liveness |
73703 | 无法获取 active liveness 会话 |
73704 | 用户按下了取消按钮,未完成会话 |
73705 | 会话未成功执行,未生成 FaceScan |
73706 | 摄像头访问被拒绝 — 用户明确拒绝了权限,或设备策略阻止了访问 |
73707 | 会话因应用被终止、休眠、系统通知或转入后台而取消 |
73708 | 会话因设备处于横屏模式而取消 |
73709 | 会话因设备处于反向竖屏模式而取消 |
73710 | 会话因用户在规定超时时间内未能完成而取消 |
73712 | 会话因内存压力取消 / 非生产环境应用需要网络连接 |
73713 | 会话因您的密钥需要重新验证而取消 |
73714 | 会话因开发者配置的加密密钥无效而取消 |
73715 | 会话因未配置所有引导图片而取消 |
73716 | 会话因 SDK 无法在此设备上启动摄像头而取消 |
73717 | 会话因用户处于锁定状态而取消 |
73718 | 正常使用原生 API 时发生未知且意外的错误 |
73719 | 会话因用户按下了准备页面的副文本消息而取消 |
73800 | 无法构建加密密钥 |
官方错误目录
上述代码反映了 Flutter SDK 目录。官方跨平台错误代码目录可在 API 参考 > 错误代码 中查看。
处理回调
@override
void onErrorUnico(UnicoError error) {
final code = error.getCode();
final description = error.getDescription();
// handle error
}
生命周期回调
除 onErrorUnico 外,SDK 还会触发以 下回调:
onUserClosedCameraManually()— 用户手动关闭了摄像头。onSystemClosedCameraTimeoutSession()— 会话因超时而过期(默认 40 秒,最小 40 秒)。onSystemChangedTypeCameraTimeoutFaceInference()— 人脸检测超过 13 秒阈值;捕获切换为手动模式。