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

Пользовательские сценарии

Пользовательские сценарии — это многоэтапные сессии захвата, организованные SDK совместно с настроенным потоком. Например, поток с Liveness + Risk Score + Risk Fraud Classification + Document Capture + Electronic Signature выполняет захват селфи, документа и подписи в одной сессии.

Варианты использования

Доступные сценарии зависят от потока, настроенного для вашей интеграции. Полное сопоставление вариант использования → поток → возможность см. в разделе Варианты использования.

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

SDK:

  1. Считывает конфигурацию потока, предоставленную при инициализации.
  2. Организует последовательность захватов, необходимых для потока (селфи, документ, подпись).
  3. Возвращает объект результата для каждого этапа захвата.

Оркестрация полностью осуществляется SDK — вам не нужно реализовывать последовательность шагов в вашем приложении.

Запуск пользовательского сценария
Шаг 1 — Реализуйте AcessoBioManagerDelegate

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

МетодКогда вызывается
onErrorAcessoBioManager(error)Произошла ошибка во время работы SDK
onUserClosedCameraManually()Пользователь вручную закрыл камеру
onSystemClosedCameraTimeoutSession()Достигнут 40-секундный лимит сеанса
onSystemChangedTypeCameraTimeoutFaceInference()Лицо не обнаружено в течение 13 секунд — переключается на ручной захват
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!

override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}

func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
Обязательные методы делегата

Все четыре метода делегата, перечисленные выше, должны быть созданы в вашем проекте (даже без какой-либо логики). В противном случае проект не скомпилируется успешно.

Шаг 2 — Реализуйте AcessoBioSelfieDelegate

Переопределите методы для обработки обратных вызовов результатов захвата в сценарии:

МетодОписание
onSuccessSelfie(result)Изображение успешно захвачено — возвращает SelfieResult для последующих вызовов REST API
onSuccess(result)Поток WebApp успешно завершён — возвращает processId, используемый для запроса результатов валидации
onErrorSelfie(errorBio)Захват завершился ошибкой — возвращает ErrorBio с деталями ошибки
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {

func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
Шаг 3 — Вызовите prepareSelfieCamera и open

Вызовите prepareSelfieCamera, передав конфигурацию SDK. Когда камера готова, срабатывает событие onCameraReady — откройте камеру с помощью метода open(), передав web_app_token:

web_app_token

web_app_token — это поле process.webAppToken, возвращаемое запросом POST /client/v1/process при создании процесса на вашем бэкенде. См. Создание процесса.

  • onCameraReady(cameraOpener) — камера готова; вызовите open(self, webAppToken:).
  • onCameraFailed(message) — подготовка камеры завершилась ошибкой (ErrorPrepare является расширением ErrorBio).
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}

func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self, webAppToken: "your_web_app_token")
}

func onCameraFailed(_ message: ErrorPrepare!) { }

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