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 |
|---|---|
DocumentEnums.CPF | Ambil CPF |
DocumentEnums.CNH | Ambil CNH terbuka |
DocumentEnums.cnhFrente | Ambil bagian depan CNH |
DocumentEnums.cnhVerso | Ambil bagian belakang CNH |
DocumentEnums.RG | Ambil RG terbuka |
DocumentEnums.rgFrente | Ambil bagian depan RG |
DocumentEnums.rgVerso | Ambil bagian belakang RG |
DocumentEnums.none | Bingkai persegi panjang generik untuk dokumen lainnya |
Jika Anda perlu mengambil dokumen yang tidak memiliki bingkai khusus (misalnya, RNE), gunakan DocumentEnums.none — 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 AcessoBioManagerDelegate
AcessoBioManagerDelegate menangani callback siklus hidup SDK. Implementasikan empat metode wajib berikut:
| Metode | Kapan dipanggil |
|---|---|
onErrorAcessoBioManager(error) | Terjadi kesalahan selama operasi SDK |
onUserClosedCameraManually() | Pengguna menutup kamera secara manual |
onSystemClosedCameraTimeoutSession() | Batas sesi 40 detik telah tercapai |
onSystemChangedTypeCameraTimeoutFaceInference() | Tidak ada wajah terdeteksi selama 13 detik — beralih ke pengambilan gambar manual |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!
override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}
func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
@implementation ViewController: UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}
- (void)onErrorAcessoBioManager:(ErrorBio *)error { }
- (void)onSystemChangedTypeCameraTimeoutFaceInference { }
- (void)onSystemClosedCameraTimeoutSession { }
- (void)onUserClosedCameraManually { }
@end
Keempat metode delegate di atas harus dibuat dalam proyek Anda (meskipun tanpa logika apa pun). Jika tidak, proyek tidak akan berhasil dikompilasi.
Langkah 2 — Implementasikan DocumentCameraDelegate dan AcessoBioDocumentDelegate
Delegate ini menangani callback hasil pengambilan dokumen:
| Metode | Deskripsi |
|---|---|
onSuccessDocument(result) | Pengambilan berhasil — mengembalikan DocumentResult dengan base64 (pratinjau) dan encrypted (JWT untuk API) |
onErrorDocument(errorBio) | Pengambilan gagal — mengembalikan ErrorBio dengan kode dan deskripsi |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate {
func onSuccessDocument(_ result: DocumentResult!) { }
func onErrorDocument(_ errorBio: ErrorBio!) { }
}
// .h
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate> {
AcessoBioManager *unicoCheck;
}
// .m
- (void)onSuccessDocument:(DocumentResult *)result {
NSLog(@"%@", result.base64);
}
- (void)onErrorDocument:(ErrorBio *)errorBio { }
Langkah 3 — Panggil prepareDocumentCamera dan openDocument
Panggil prepareDocumentCamera dengan meneruskan konfigurasi SDK. Saat kamera siap, onCameraReadyDocument dipicu dengan AcessoBioCameraOpenerDelegate — buka kamera menggunakan openDocument() dan teruskan DocumentEnums yang diinginkan:
onCameraReadyDocument(cameraOpener)— kamera siap; panggilopenDocument(.CNH, delegate: self).onCameraFailedDocument(message)— persiapan kamera gagal (ErrorPrepareadalah ekstensi dariErrorBio).
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareDocumentCamera(self, config: YourUnicoConfigClass())
}
func onCameraReadyDocument(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.openDocument(DocumentEnums.CNH, delegate: self)
}
func onCameraFailedDocument(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareDocumentCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReadyDocument:(id)cameraOpener {
[cameraOpener openDocument:DocumentCNH delegate:self];
}
- (void)onCameraFailedDocument:(ErrorPrepare *)message { }
Untuk penanganan hasil secara lengkap, lihat Menerima hasil.