文件采集
采集身份证件。SDK 会呈现一个框架,辅助用户定位证件;定位完成后,用户点击按钮拍照。
无内容验证
SDK 不对正在采集的内容进行任何类型的验证。
可用的文件框架
| 框架 | 描述 |
|---|---|
DocumentCameraTypes.CPF | 采集 CPF |
DocumentCameraTypes.CNH | 采集已展开的 CNH |
DocumentCameraTypes.CNH_FRENTE | 采集 CNH 正面 |
DocumentCameraTypes.CNH_VERSO | 采集 CNH 背面 |
DocumentCameraTypes.RG_FRENTE | 采集 RG 正面 |
DocumentCameraTypes.RG_VERSO | 采集 RG 背面 |
DocumentCameraTypes.OUTROS("descrição") | 适用于任何其他文件的通用框架 |
通用框架
如果需要采集没有专用框架的文件(例如 RNE),请使用 DocumentCameraTypes.OUTROS("description") — 这是一个通用的矩形框架,可用于引导任何采集操作。
有关支持的文件类型的完整列表,请参阅 API 参考 > 枚举。
开始文件采集
步骤 1 — 实现 UnicoListener
UnicoListener 处理 SDK 生命周期回调。实现以下四个必须方法:
| 方法 | 调用时机 |
|---|---|
onErrorUnico(error) | SDK 运行过程中发生错误 |
onUserClosedCameraManually() | 用户手动关闭相机 |
onSystemClosedCameraTimeoutSession() | 达到 40 秒会话限制 |
onSystemChangedTypeCameraTimeoutFaceInference() | 13 秒内未检测到人脸 — 切换为手动拍摄 |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
必须实现的监听器方法
上述四个监听器方法必须在您的项目中创建(即使没有任何逻辑)。否则,项目将无法成功编译。
步骤 2 — 实现文件监听器
将文件回调添加到您的状态类:
| 方法 | 描述 |
|---|---|
onSuccessDocument(ResultCamera resultCamera) | 采集成功 — 返回包含 base64(预览)和 encrypted(API 使用的 JWT)的 ResultCamera |
onErrorDocument(UnicoError error) | 采集失败 — 返回包含错误码和描述的 UnicoError |
@override
void onSuccessDocument(ResultCamera resultCamera) { }
@override
void onErrorDocument(UnicoError error) { }
步骤 3 — 调用 openCameraDocument
openCameraDocument() 方法通过 UnicoCheck 类实例生成的对象提供。它需要以下参数:
- 包含凭据的 JSON 文件,在凭据设置步骤中生成;
- 要采集的文件类型(
DocumentType枚举); - 步骤 2 中配置的监听器。
以采集已展开的 CNH 为例:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
有关完整的结果处理,请参阅接收结果。