Перейти к основному содержимому

Liveness (биометрическое селфи)

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

Capability

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

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

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

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

AcessoBioListener обрабатывает callback-и жизненного цикла SDK. Реализуйте четыре обязательных метода:

МетодКогда вызывается
onErrorAcessoBio(errorBio)Произошла ошибка во время работы SDK
onUserClosedCameraManually()Пользователь вручную закрыл камеру
onSystemClosedCameraTimeoutSession()Достигнут лимит времени сессии — см. Ограничения сессии
onSystemChangedTypeCameraTimeoutFaceInference()Достигнут лимит времени распознавания лица — переключение на ручной захват — см. Ограничения сессии
val callback = object : AcessoBioListener {
override fun onErrorAcessoBio(errorBio: ErrorBio?) { }
override fun onUserClosedCameraManually() { }
override fun onSystemClosedCameraTimeoutSession() { }
override fun onSystemChangedTypeCameraTimeoutFaceInference() { }
}
Шаг 2 — Реализуйте iAcessoBioSelfie

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

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

Интервал между генерацией encrypted и его отправкой в API не должен превышать 10 минут.

val selfieListener = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun onErrorSelfie(errorBio: ErrorBio?) { }
}
Шаг 3 — Вызовите prepareCamera

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

  • onCameraReady — камера готова; вызовите open, передав selfieListener из шага 2.
  • onCameraFailed — подготовка камеры завершилась ошибкой; обработайте сообщение об ошибке.
unicoCheckCamera
.prepareCamera(UnicoConfig(), object : SelfieCameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Selfie?) {
cameraOpener?.open(selfieListener)
}
override fun onCameraFailed(message: String?) { }
})

Полное описание обработки результата см. в разделе Получение результата.