Perjalanan Pengguna
User Journeys adalah sesi pengambilan gambar multi-langkah yang diorkestrasikan oleh SDK bersama dengan alur yang dikonfigurasi. Misalnya, alur dengan Deteksi Kehidupan + Klasifikasi risiko penipuan + Risk Fraud Classification + Pengambilan Dokumen + Tanda Tangan Elektronik menjalankan selfie, pengambilan dokumen, dan tanda tangan dalam satu sesi.
Journey yang tersedia bergantung pada alur yang dikonfigurasi untuk integrasi Anda. Lihat Kasus Penggunaan untuk pemetaan lengkap kasus penggunaan → alur → kemampuan.
SDK:
- Membaca konfigurasi alur yang diberikan selama inisialisasi.
- Mengorkestrasikan urutan pengambilan gambar yang diperlukan untuk alur (selfie, dokumen, tanda tangan).
- Mengembalikan objek hasil untuk setiap langkah pengambilan gambar.
Orkestrasi sepenuhnya ditangani oleh SDK — Anda tidak perlu mengimplementasikan urutan langkah di aplikasi Anda.
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 AcessoBioSelfieDelegate
Override metode-metode untuk menangani callback hasil pengambilan gambar pada journey:
| Metode | Deskripsi |
|---|---|
onSuccessSelfie(result) | Gambar berhasil diambil — mengembalikan SelfieResult untuk panggilan REST API berikutnya |
onSuccess(result) | Alur WebApp berhasil diselesaikan — mengembalikan processId yang digunakan untuk mengkueri hasil validasi |
onErrorSelfie(errorBio) | Pengambilan gambar gagal — mengembalikan ErrorBio dengan detail kesalahan |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {
func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate>
@end
@implementation ViewController
- (void)onSuccessSelfie:(SelfieResult *)result { }
- (void)onSuccess:(SuccessResult *)result { }
- (void)onErrorSelfie:(ErrorBio *)errorBio { }
@end
Langkah 3 — Panggil prepareSelfieCamera dan open
Panggil prepareSelfieCamera dengan memasukkan konfigurasi SDK. Saat kamera siap, event onCameraReady dipicu — buka kamera melalui metode open(), dengan meneruskan web_app_token:
web_app_token adalah field process.webAppToken yang dikembalikan oleh POST /client/v1/process saat membuat proses di backend Anda. Lihat Buat Proses.
onCameraReady(cameraOpener)— kamera siap; panggilopen(self, webAppToken:).onCameraFailed(message)— persiapan kamera gagal (ErrorPrepareadalah ekstensi dariErrorBio).
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}
func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self, webAppToken: "your_web_app_token")
}
func onCameraFailed(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReady:(id)cameraOpener {
[cameraOpener open:self webAppToken:@"your_web_app_token"];
}
- (void)onCameraFailed:(ErrorPrepare *)message { }
Untuk penanganan hasil secara lengkap, lihat Menerima hasil.