Pengambilan dokumen
Pengambilan dokumen identitas. SDK menampilkan bingkai untuk membantu pengguna memposisikan dokumen; setelah diposisikan, pengguna menekan tombol untuk mengambil foto.
SDK tidak melakukan validasi jenis apa pun terhadap objek yang sedang diambil.
| Bingkai | Deskripsi |
|---|---|
DocumentCameraTypes.CPF | Ambil CPF |
DocumentCameraTypes.CNH | Ambil CNH terbuka |
DocumentCameraTypes.CNH_FRENTE | Ambil bagian depan CNH |
DocumentCameraTypes.CNH_VERSO | Ambil bagian belakang CNH |
DocumentCameraTypes.RG_FRENTE | Ambil bagian depan RG |
DocumentCameraTypes.RG_VERSO | Ambil bagian belakang RG |
DocumentCameraTypes.OUTROS("descrição") | Bingkai generik untuk dokumen lainnya |
Jika Anda perlu mengambil dokumen yang tidak memiliki bingkai khusus (misalnya, RNE), gunakan DocumentCameraTypes.OUTROS("description") — bingkai persegi panjang generik yang dapat digunakan untuk memandu pengambilan apa pun.
Untuk daftar lengkap jenis dokumen yang didukung, lihat Referensi API > Enums.
Langkah 1 — Implementasikan UnicoListener
UnicoListener menangani callback siklus hidup SDK. Implementasikan empat metode wajib berikut:
| Metode | Kapan dipanggil |
|---|---|
onErrorUnico(error) | Terjadi kesalahan selama operasi SDK |
onUserClosedCameraManually() | Pengguna menutup kamera secara manual |
onSystemClosedCameraTimeoutSession() | Batas waktu sesi 40 detik telah tercapai |
onSystemChangedTypeCameraTimeoutFaceInference() | Tidak ada wajah terdeteksi selama 13 detik — beralih ke pengambilan manual |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
Keempat metode listener di atas harus dibuat di proyek Anda (meskipun tanpa logika apa pun). Jika tidak, proyek tidak akan berhasil dikompilasi.
Langkah 2 — Implementasikan listener dokumen
Tambahkan callback dokumen ke kelas state Anda:
| Metode | Deskripsi |
|---|---|
onSuccessDocument(ResultCamera resultCamera) | Pengambilan berhasil — mengembalikan ResultCamera dengan base64 (pratinjau) dan encrypted (JWT untuk API) |
onErrorDocument(UnicoError error) | Pengambilan gagal — mengembalikan UnicoError dengan kode dan deskripsi |
@override
void onSuccessDocument(ResultCamera resultCamera) { }
@override
void onErrorDocument(UnicoError error) { }
Langkah 3 — Panggil openCameraDocument
Metode openCameraDocument() disediakan melalui objek yang dihasilkan dengan instance dari kelas UnicoCheck. Metode ini menerima:
- File JSON berisi kredensial, yang dibuat pada langkah penyiapan kredensial;
- Jenis dokumen yang akan diambil (enum
DocumentType); - Listener yang dikonfigurasi pada Langkah 2.
Contoh menggunakan CNH terbuka:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
Untuk penanganan hasil secara lengkap, lihat Menerima hasil.