Liveness (биометрическое селфи)
Биометрический захват селфи со встроенной проверкой живости. SDK сопровождает пользователя до получения биометрически валидного кадра через SmartFrames и возвращает изображение в формате Base64 + JWT.
Этот тип захвата использует возможность Liveness. Концептуальный обзор работы Liveness см. на странице возможности Liveness.
SDK управляет всей сессией захвата:
- Открывает камеру с наложением SmartFrame.
- Помогает пользователю расположить лицо в рамке.
- Проверяет живость — сессия завершается только при физическом присутствии пользователя.
- Возвращает объект
ResultCameraсbase64иencrypted(JWT).
Шаг 1 — Реализуйте AcessoBioListener
AcessoBioListener обрабатывает callback-и жизненного цикла SDK. Реализуйте четыре обязательных метода:
| Метод | Когда вызывается |
|---|---|
onErrorAcessoBio(errorBio) | Произошла ошибка во время работы SDK |
onUserClosedCameraManually() | Пользователь вручную закрыл камеру |
onSystemClosedCameraTimeoutSession() | Достигнут лимит времени сессии — см. Ограничения сессии |
onSystemChangedTypeCameraTimeoutFaceInference() | Достигнут лимит времени распознавания лица — переключение на ручной захват — см. Ограничения сессии |
- 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() { }
};
Шаг 2 — Реализуйте iAcessoBioSelfie
iAcessoBioSelfie обрабатывает callback-и результата захвата селфи:
| Метод | Описание |
|---|---|
onSuccessSelfie(result) | Захват выполнен успешно — возвращает ResultCamera с base64 (превью) и encrypted (JWT для API) |
onErrorSelfie(errorBio) | Захват завер шился ошибкой — возвращает ErrorBio с кодом и описанием |
Интервал между генерацией encrypted и его отправкой в API не должен превышать 10 минут.
- Kotlin
- Java
val selfieListener = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun onErrorSelfie(errorBio: ErrorBio?) { }
}
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
- Java
unicoCheckCamera
.prepareCamera(UnicoConfig(), object : SelfieCameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Selfie?) {
cameraOpener?.open(selfieListener)
}
override fun onCameraFailed(message: String?) { }
})
unicoCheckCamera
.prepareCamera(new UnicoConfig(), new SelfieCameraListener() {
@Override
public void onCameraReady(UnicoCheckCameraOpener.Selfie cameraOpener) {
cameraOpener.open(selfieListener);
}
@Override
public void onCameraFailed(String message) { }
});
Полное описание обработки результата см. в разделе Получение результата.