Perjalanan Pengguna
User Journeys adalah sesi pengambilan gambar multi-langkah yang diatur 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 disediakan selama inisialisasi.
- Mengatur 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 AcessoBioListener
AcessoBioListener menangani callback siklus hidup SDK. Implementasikan empat metode wajib berikut:
| Metode | Kapan dipanggil |
|---|---|
onErrorAcessoBio(errorBio) | Terjadi kesalahan saat operasi SDK |
onUserClosedCameraManually() | Pengguna menutup kamera secara manual |
onSystemClosedCameraTimeoutSession() | Batas waktu sesi telah tercapai — lihat Batas waktu sesi |
onSystemChangedTypeCameraTimeoutFaceInference() | Batas waktu inferensi wajah telah tercapai — beralih ke pengambilan manual — lihat Batas waktu sesi |
- Kotlin
- Java
val callback = object : AcessoBioListener {
override fun onErrorAcessoBio(errorBio: ErrorBio?) { }
override fun onUserClosedCameraManually() { }
override fun onSystemClosedCameraTimeoutSession() { }
override fun onSystemChangedTypeCameraTimeoutFaceInference() { }
}
AcessoBioListener callback = new AcessoBioListener() {
@Override
public void onErrorAcessoBio(ErrorBio errorBio) { }
@Override
public void onUserClosedCameraManually() { }
@Override
public void onSystemClosedCameraTimeoutSession() { }
@Override
public void onSystemChangedTypeCameraTimeoutFaceInference() { }
};
Langkah 2 — Implementasikan iAcessoBioSelfie
iAcessoBioSelfie menangani callback hasil pengambilan gambar pada journey:
| Metode | Deskripsi |
|---|---|
onSuccessSelfie(result) | Gambar berhasil diambil — mengembalikan ResultCamera untuk panggilan REST API selanjutnya |
onSuccess(result) | Alur WebApp berhasil diselesaikan — mengembalikan SuccessResult dengan processId yang digunakan untuk mengkueri hasil validasi |
onErrorSelfie(errorBio) | Pengambilan gambar gagal — mengembalikan ErrorBio dengan detail kesalahan |
- Kotlin
- Java
val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun onSuccess(result: SuccessResult) { }
override fun onErrorSelfie(errorBio: ErrorBio?) { }
}
iAcessoBioSelfie cameraListener = new iAcessoBioSelfie() {
@Override
public void onSuccessSelfie(ResultCamera result) { }
@Override
public void onSuccess(SuccessResult result) { }
@Override
public void onErrorSelfie(ErrorBio errorBio) { }
};
Langkah 3 — Panggil prepareCamera
Dengan unicoCheckCamera yang telah diinisialisasi dan kedua listener diimplementasikan, panggil prepareCamera dengan meneruskan konfigurasi SDK, sebuah CameraListener, dan web_app_token Anda:
web_app_token adalah field process.webAppToken yang dikembalikan oleh POST /client/v1/process saat membuat proses di backend Anda. Lihat Buat Proses.
onCameraReady— kamera siap; panggilopendengan meneruskancameraListenerdanweb_app_tokenAnda.onCameraFailed— persiapan kamera gagal; tangani pesan kesalahannya.
- Kotlin
- Java
unicoCheckCamera.prepareCamera(unicoConfig, object : CameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Camera?) {
cameraOpener?.open(cameraListener, "your_web_app_token")
}
override fun onCameraFailed(message: String?) {
Log.e(TAG, message)
}
})
unicoCheckCamera.prepareCamera(unicoConfig, new CameraListener() {
@Override
public void onCameraReady(UnicoCheckCameraOpener.Camera cameraOpener) {
cameraOpener.open(cameraListener, "your_web_app_token");
}
@Override
public void onCameraFailed(String message) {
Log.e(TAG, message);
}
});
Untuk penanganan hasil selengkapnya, lihat Menerima hasil.