Пользовательские сценарии
Пользовательские сценарии — это многоэтапные сессии захвата, организованные SDK совместно с настроенным потоком. Например, поток с Liveness + Risk Score + Risk Classification + Document Capture + Electronic Signature выполняет селфи, захват документа и подпись в одной сессии.
Доступные сценарии зависят от потока, настроенного для вашей интеграции. Обратитесь к разделу Варианты использования для полного сопоставления вариант использования → поток → возможность.
SDK:
- Считывает конфигурацию потока, предоставленную при инициализации.
- Организует последовательность захватов, необходимых для потока (селфи, документ, подпись).
- Возвращает объект результата для каждого этапа захвата.
Оркестрация полностью осуществляется SDK — вам не нужно реализовывать последовательность шагов в вашем приложении.
Шаг 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 обрабатывает обратные вызовы результата захвата в сценарии:
| Метод | Описание |
|---|---|
onSuccessSelfie(result) | Изображение успешно захвачено — возвращает ResultCamera для последующих вызовов REST API |
onSuccess(result) | Поток WebApp успешно завершён — возвращает SuccessResult с processId, используемым для запроса результатов валидации |
onErrorSelfie(errorBio) | Захват завершился ошибкой — возвращает ErrorBio с деталями ошибки |
- Kotlin
- Java
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) { }
};
Шаг 3 — Вызовите prepareCamera
После инициализации unicoCheckCamera и реализации обоих слушателей вызовите prepareCamera, передав конфигурацию SDK, CameraListener и ваш web_app_token:
web_app_token — это поле process.webAppToken, возвращаемое запросом POST /client/v1/process при создании процесса на вашем бэкенде. См. Создание процесса.
onCameraReady— камера готова; вызовитеopen, передавcameraListenerи вашweb_app_token.onCameraFailed— подготовка камеры завершилась ошибкой; обр аботайте сообщение об ошибке.
- Kotlin
- Java
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);
}
});
Для полного описания обработки результата см. Получение результата.