---
title: Perjalanan Pengguna
canonical: https://developer.unico.io/id/developers/sdks-and-tools/android/capture-flow/user-journeys
locale: id
generated_by: markdown-export
---

- [/id/](/id/)
- [SDK dan Alat](/id/developers/sdks-and-tools/overview)
- [Android SDK](/id/developers/sdks-and-tools/android/requirements)
- Alur tangkapan
- Perjalanan Pengguna

# 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.

ProdukJourney yang tersedia bergantung pada alur yang dikonfigurasi untuk integrasi Anda. Lihat [Produk](/id/products) untuk pemetaan lengkap produk → alur → kemampuan.

Cara kerjanya
SDK:

1. Membaca konfigurasi alur yang disediakan selama inisialisasi.
2. Mengatur urutan pengambilan gambar yang diperlukan untuk alur (selfie, dokumen, tanda tangan).
3. Mengembalikan `processId` melalui `onSuccess` ketika journey selesai. Untuk langkah selfie, data gambar (`base64` / `encrypted`) juga dikembalikan melalui `onSuccessSelfie`. 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.

Memulai User Journey
**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](/id/developers/sdks-and-tools/android/requirements#session-limits) |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | Batas waktu inferensi wajah telah tercapai — beralih ke pengambilan manual — lihat [Batas waktu sesi](/id/developers/sdks-and-tools/android/requirements#session-limits) |

- 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:MetodeDeskripsi`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 kesalahanKotlinJava```
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`webAppToken` adalah field `process.webAppToken` yang dikembalikan oleh `POST /client/v1/process` saat membuat proses di backend Anda. Lihat Buat Proses.
`onCameraReady` — kamera siap; panggil `open` dengan meneruskan `cameraListener` dan `webAppToken` Anda.
`onCameraFailed` — persiapan kamera gagal; tangani pesan kesalahannya.
KotlinJava```
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](/id/developers/sdks-and-tools/android/capture-flow/receiving-the-result).Terakhir diperbarui pada 8 Okt 2026**