Perjalanan Pengguna
User Journeys adalah sesi pengambilan gambar multi-langkah yang diatur oleh SDK bersama dengan alur yang dikonfigurasi. Misalnya, alur dengan Deteksi Kehidupan + Skor Risiko + 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 Produk untuk pemetaan lengkap produk → alur → kemampuan.
SDK:
- Membaca konfigurasi alur yang disediakan selama inisialisasi.
- Mengatur urutan pengambilan gambar yang diperlukan untuk alur (selfie, dokumen, tanda tangan).
- Mengembalikan
processIdmelaluionSuccessketika journey selesai. Untuk langkah selfie, data gambar (base64/encrypted) juga dikembalikan melaluionSuccessSelfie. Pengambilan gambar dokumen dan tanda tangan diproses secara internal oleh SDK — tidak ada artefak per langkah yang diekspos ke klien.
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) | Journey 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 webAppToken Anda:
webAppToken adalah field process.webAppToken yang dikembalikan oleh POST /client/v1/process saat membuat proses di backend Anda. Lihat Buat Proses.
onCameraReady— kamera siap; panggilopendengan meneruskancameraListenerdanwebAppTokenAnda.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.