ドキュメントキャプチャ
本人確認書類のキャプチャ。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 リファレンス > Enum をご参照ください。
ドキュメントキャプチャの開始
ステップ 1 — UnicoListener を実装する
UnicoListener は SDK ライフサイクルコールバックを処理します。4 つの必須メソッドを実装してください:
| メソッド | 呼び出されるタイミング |
|---|---|
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() {}
}
必須リスナーメソッド
上記 4 つのリスナーメソッドはすべてプロジェクト内に作成する必要があります(ロジックがなくても同様です)。作成しない場合、プロジェクトは正常にコンパイルされません。
ステップ 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 ファイル;
- キャプチャするドキュメントタイプ(
DocumentTypeenum); - ステップ 2 で設定したリスナー。
開いた CNH を使用する例:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
結果の完全な処理については、結果の受け取り をご参照ください。