# Коллбэки и обработчики iOS SDK

Обработчики и коллбеки не являются обязательными. Используйте их, если считаете, что они будут полезны, но мы рекомендуем установить хотя бы tokenExpirationHandler, чтобы убедиться, что токен доступа актуален.

# Уведомление об обновлении статуса

Используйте коллбэк onStatusDidChange, чтобы получать уведомления об этапах процесса верификации. Этот коллбэк принимает два параметра:

  • sdk — экземпляр SDK,
  • prevStatus — предыдущий статус.

После этого вы можете проанализировать sdk.status, чтобы определить текущий статус проверки.

# Уведомление о событиях

Подписка на коллбэк onEvent позволяет получать уведомления о событиях, происходящих в процессе обработки.
События передаются в коллбек в виде экземпляров класса, унаследованных от базового класса CBREvent. Таким образом, каждое событие имеет eventType и набор параметров, упакованных в словарь payload.
В зависимости от того что вам нужно, вы можете получать параметры события, либо анализируя payload напрямую, либо приводя переданный экземпляр события к соответствующему классу CBREvent* в зависимости от его типа.

# Уведомление о завершении работы SDK

Дополнительный способ получения уведомлений о том, что SDK закрывается.

# Истечение срока действия токена

Из-за ограниченного срока действия токена доступа (accessToken) важно уметь обрабатывать ситуацию, когда токен истекает и требуется его обновление.
Обработчик tokenExpirationHandler делает запрос на ваш сервер, получает новый токен и затем передать его обратно в SDK, вызвав замыкание onComplete.

Примечание:

onComplete должен быть выполнен, даже если вы не можете предоставить новый токен, в этом случае передайте nil.

# Завершение проверки

Вы можете использовать verificationHandler, чтобы получить уведомление, когда верификация будет завершена с окончательным решением.
Параметр isApproved сообщает, что пользователь был одобрен или окончательно отклонен. Если вы хотите получать уведомления о других статусах проверки, используйте onStatusDidChange. Подробнее в Уведомления об обновлении статуса.

# Управление закрытием

Вы можете взять на себя управление закрытием, назначив dismissHandler. Обработчик получает текущий экземпляр sdk и контроллер mainVC. Вы можете закрыть mainVC так, как считаете нужным.