---
title: Liveness (биометрическое селфи)
canonical: https://developer.unico.io/ru/dual-api/developers/sdks-and-tools/android/capture-flow/capture-types/liveness
locale: ru
generated_by: markdown-export
---

Биометрический захват селфи со встроенной проверкой живости. SDK сопровождает пользователя до получения биометрически валидного кадра через SmartFrames и возвращает изображение в формате Base64 + JWT.

:::secondary[Capability]
Этот тип захвата использует возможность **Liveness**. Концептуальный обзор работы Liveness см. на странице возможности Liveness.
:::

## Как это работает

SDK управляет всей сессией захвата:

1. Открывает камеру с наложением SmartFrame.
2. Помогает пользователю расположить лицо в рамке.
3. Проверяет живость — сессия завершается только при физическом присутствии пользователя.
4. Возвращает объект `ResultCamera` с `base64` и `encrypted` (JWT).

## Запуск захвата с проверкой живости

****Шаг 2** — Реализуйте `iAcessoBioSelfie`**

`iAcessoBioSelfie` обрабатывает callback-и результата захвата селфи:

  | Метод | Описание |
  |---|---|
  | `onSuccessSelfie(result)` | Захват выполнен успешно — возвращает `ResultCamera` с `base64` (превью) и `encrypted` (JWT для API) |
  | `onErrorSelfie(errorBio)` | Захват завершился ошибкой — возвращает `ErrorBio` с кодом и описанием |

  :::warning[Token expiry]
  Интервал между генерацией `encrypted` и его отправкой в API не должен превышать **10 минут**.
  :::

  ### Kotlin

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

### Java

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

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

****Шаг 3** — Вызовите `prepareCamera`**

После инициализации `unicoCheckCamera` и реализации обоих listener-ов вызовите `prepareCamera`, передав конфигурацию SDK и `SelfieCameraListener`:

  - `onCameraReady` — камера готова; вызовите `open`, передав `selfieListener` из шага 2.
  - `onCameraFailed` — подготовка камеры завершилась ошибкой; обработайте сообщение об ошибке.

  ### Kotlin

    ```kotlin
    unicoCheckCamera
      .prepareCamera(UnicoConfig(), object : SelfieCameraListener {
        override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Selfie?) {
          cameraOpener?.open(selfieListener)
        }
        override fun onCameraFailed(message: String?) { }
      })
    ```

### Java

    ```java
    unicoCheckCamera
      .prepareCamera(new UnicoConfig(), new SelfieCameraListener() {
        @Override
        public void onCameraReady(UnicoCheckCameraOpener.Selfie cameraOpener) {
          cameraOpener.open(selfieListener);
        }

        @Override
        public void onCameraFailed(String message) { }
      });
    ```

Полное описание обработки результата см. в разделе [Получение результата](/developers/sdks-and-tools/android/capture-flow/receiving-the-result).