---
title: 사용자 여정
canonical: https://developer.unico.io/ko/dual-api/developers/sdks-and-tools/android/capture-flow/capture-types/user-journeys
locale: ko
generated_by: markdown-export
---

사용자 여정(User Journeys)은 SDK가 설정된 플로우와 함께 조율하는 다단계 캡처 세션입니다. 예를 들어, 라이브니스 + 위험 점수 + 문서 캡처 + 전자 서명이 포함된 플로우는 단일 세션에서 셀피, 문서 캡처, 서명을 순서대로 실행합니다.

:::secondary[제품]
사용 가능한 여정은 통합에 설정된 플로우에 따라 다릅니다. 제품 → 플로우 → 기능의 전체 매핑은 [제품](/products)을 참조하세요.
:::

## 작동 방식

SDK는:

1. 초기화 중에 제공된 플로우 구성을 읽습니다.
2. 플로우에 필요한 캡처 순서(셀피, 문서, 서명)를 조율합니다.
3. 여정이 완료되면 `onSuccess`를 통해 `processId`가 반환됩니다. 셀피 단계에서는 `onSuccessSelfie`를 통해 이미지 데이터(`base64` / `encrypted`)도 반환됩니다. 문서 및 서명 캡처는 SDK가 내부적으로 처리합니다 — 단계별 아티팩트는 클라이언트에 노출되지 않습니다.

조율은 SDK가 전적으로 처리하므로 앱에서 단계 순서를 직접 구현할 필요가 없습니다.

## 사용자 여정 시작

****2단계** — `iAcessoBioSelfie` 구현**

`iAcessoBioSelfie`는 여정 캡처 결과 콜백을 처리합니다:

  | 메서드 | 설명 |
  |---|---|
  | `onSuccessSelfie(result)` | 이미지가 성공적으로 캡처됨 — 이후 REST API 호출에 사용할 `ResultCamera`를 반환 |
  | `onSuccess(result)` | 여정이 성공적으로 완료되었습니다 — 검증 결과 조회에 사용되는 `processId`가 포함된 `SuccessResult`를 반환 |
  | `onErrorSelfie(errorBio)` | 캡처 실패 — 오류 세부 정보가 포함된 `ErrorBio`를 반환 |

  ### Kotlin

    ```kotlin
    val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {
      override fun onSuccessSelfie(result: ResultCamera?) { }
      override fun onSuccess(result: SuccessResult) { }
      override fun onErrorSelfie(errorBio: ErrorBio?) { }
    }
    ```

### Java

    ```java
    iAcessoBioSelfie cameraListener = new iAcessoBioSelfie() {
      @Override
      public void onSuccessSelfie(ResultCamera result) { }

      @Override
      public void onSuccess(SuccessResult result) { }

      @Override
      public void onErrorSelfie(ErrorBio errorBio) { }
    };
    ```

****3단계** — `prepareCamera` 호출**

`unicoCheckCamera`가 초기화되고 두 리스너가 모두 구현된 상태에서 SDK 구성, `CameraListener`, `webAppToken`을 전달하여 `prepareCamera`를 호출합니다:

  :::note[webAppToken]
  `webAppToken`은 백엔드에서 프로세스 생성 시 `POST /client/v1/process`가 반환하는 `process.webAppToken` 필드입니다. [프로세스 생성](/dual-api/developers/api-reference/web-sdk/post-process)을 참조하세요.
  :::

  - `onCameraReady` — 카메라 준비 완료; `cameraListener`와 `webAppToken`을 전달하여 `open`을 호출합니다.
  - `onCameraFailed` — 카메라 준비 실패; 오류 메시지를 처리합니다.

  ### Kotlin

    ```kotlin
    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)
      }
    })
    ```

### Java

    ```java
    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);
      }
    });
    ```

전체 결과 처리에 대해서는 [결과 수신](/developers/sdks-and-tools/android/capture-flow/receiving-the-result)을 참조하세요.