最佳实践
本页汇总了集成和维护 Unico SDK 的最重要准则。遵循这些实践可减少集成错误、防止安全事件,并确保生产环境顺利上线。
入门指南
Unico 在 reference-apps 仓库中为每个 SDK 提供了参考应用。每个应用都实现了完整的用户旅程。
SDK 持续演进以提供更高的安全性和新功能。及时应用更新——尤其是关键更新——至关重要。请参阅更新政策了解时间表和相关义务。
通过各平台的发行说明查看当前版本:
更新策略
您的应用程序可能会与 Unico SDK 一起加载多个库。同时升级多个依赖项会增加定位故障根本原因 的难度。请单独更新 SDK,并在预发布环境中验证后,再与其他变更合并。
提交更新问题支持工单时,请包含以下信息:
- SDK 语言和实施类型(原生或混合)
- 使用的框架
- 当前版本和目标版本
- API Key
- 变更说明及复现步骤
- 结果、错误、日志、截图或视频
JWT 安全
成功采集后返回的 JWT 是加密的。请勿打开、解析或序列化它。其内部结构可能随时发生变化,恕不另行通知。仅在向 Unico API 提交图像时使用它。
如需图像预览,请使用 JWT 附带的 Base64 属性——切勿自行解码 JWT。
出于安全原因,JWT 必须在采集后 10 分钟内发送至 Unico 后端。超时提交的数据包将被作废。
JWT 只能提交一次。如果提交过程中发生错误,必须重新进行生物特征采集——不得重复使用同一个 JWT。
测试准则
在虚拟机或模拟器中运行 SDK 会触发安全错误代码(73006、73600、73400)。请始终在物理设备上进行测试,以避免误判错误和不必要的返工。
Web SDK 将开启的 DevTools 检测为潜在的欺诈信号,并使提交失效。在运行端到端采集测试前,请关闭 DevTools。
在 Unico 预发布环境中执行测试
在上线生产之前,请在 Unico 的预发布环境中以真实场景进行充分测试。使用预发布专用的 API Key 和配置 ——切勿在测试中使用生产凭据。
IDCloud 的预发布环境(UAT)采用与生产环境相同的安全标准。以下准则说明了原因,以及如何在不受中断的情况下进行测试。
此前 — 检测但不拒绝 偏离真实使用模式的条件会被识别,但不会阻止采集。
现在 — 检测并拒绝 相同的条件现在会导致活体检测被拒绝,严格程度与生产环境一致。
保真性 — 与生产环境保持一致 在预发布环境中通过的内容,在生产环境中必须表现一致——避免在测试中已通过的集成在上线后意外失败。
在接近真实使用的条件下进行测试时,安全层不会影响您的开发。
非市场标准的开发工具会触发安全校验,交易可能被拦截。
| 场景 | 状态 |
|---|---|
| 完整的集成流程——采集、提交、API 响应与返回 | ✅ 可以 |
| 功能场景:UI/UX、性能、业务错误 | ✅ 可以 |
| 处于终端用户标准配置的设备 | ✅ 可以 |
| 与后端、API 和数据处理的集成 | ✅ 可以 |
| 已 root/越狱的设备 | ❌ 不可以 |
| 启用调试模式 / USB 调试 | ❌ 不可以 |
| 模拟器或虚拟化 | ❌ 不可以 |
| 虚拟摄像头或采集自动化工具 | ❌ 不可以 |
| 更改连接的工具 | ❌ 不可以 |
| 设备上的企业 MDM 或活动监控 | ❌ 不可以 |
| 容器或虚拟机中的沙箱 | ❌ 不可以 |
上述任何条件都可能导致活体检测被拒绝。
请联系支持团队获取环境配置方面的指导。不存在例外、临时放行或暂时放宽——Unico 会在其认为必要的期间内保持预发布环境与生产环境一致。
平台特定准则
不要尝试在 Flutter 应用中桥接原生 Android 或 iOS SDK。原生桥接经常产生未映射的错误。请始终使用 Unico 专用的 Flutter 插件。
升级 Web SDK 时,请在插入新文件之前从 public 文件夹中删除旧资源文件。同名文件不会自动覆盖,可能导致版本冲突。
旧版 SDK 的构建产物可能在更新后引发依赖错误。在构建新版本之前:
- Flutter: 删除
pubspec.lock并运行flutter pub get - iOS: 运行
pod cache clean --all和pod install - Android: 运行
./gradlew clean
将 Unico SDK 代码排除在混淆配置之外。混淆 SDK 通常会导致发布版本出现调试版本中未出现的故障。请参阅平台特定文档了解所需的保留规则。
用户体验与性能
将 SDK 流程分为两个独立阶段:
- 准备 — 在页面加载时(用户交互之前)初始化 SDK。
- 开启 — 仅在用户明确触发操作时启动摄像头。
提前准备 SDK 可减少感知延迟,显著提升用户体验。
生产发布
部署至生产环境之前,请验证:
- 生产 API Key 和环境配置正确无误
- 回滚计划已定义并经过测试
- 日志收集协议已就位
- 已记录处理故障的支持工单流程
- 所有验证均已在预发布环境中通过