Обработка ошибок
Вся обработка ошибок для Android SDK централизована в этом разделе. Обратный вызов onErrorAcessoBio получает объект ErrorBio с полями code и description.
Коды ошибок
| Код | Категория | Сообщение по умолчанию | Когда возникает | Рекомендуемая обработка |
|---|---|---|---|---|
AUTH_FAILED | Аутентификация | SDK authentication failed | Недействительный или истёкший SDK Key | Проверьте учётные данные с командой Onboarding |
CAMERA_PERMISSION_DENIED | Разрешения | Camera permission denied | Пользователь отказал в разрешении на использование камеры | Направьте пользователя в настройки приложения |
LIVENESS_FAILED | Захват | Liveness check failed | Изображение не прошло проверку на присутствие живого человека | Запросите новый захват |
NETWORK_ERROR | Сеть | Network error during capture | Недостаточное качество соединения | Запросите переподключение |
SDK_NOT_INITIALIZED | Жизненный цикл | SDK not initialized | Захват был вызван до инициализации | Убедитесь, что init вызывается в Application/onCreate |
Коды ошибок SDK
Приведённые выше коды охватывают основные ошибки callback-ов SDK. Коды ошибо к REST API (семейства HTTP-статусов) задокументированы отдельно в разделе Справочник API > Коды ошибок.
Обработка обратного вызова
- Kotlin
- Java
override fun onErrorAcessoBio(error: ErrorBio) {
when (error.code) {
"AUTH_FAILED" -> { /* handle authentication failure */ }
"CAMERA_PERMISSION_DENIED" -> { /* redirect to app settings */ }
"LIVENESS_FAILED" -> { /* prompt the user to try again */ }
else -> { /* generic error handling */ }
}
}
@Override
public void onErrorAcessoBio(ErrorBio error) {
switch (error.getCode()) {
case "AUTH_FAILED": /* handle authentication failure */ break;
case "CAMERA_PERMISSION_DENIED": /* redirect to app settings */ break;
case "LIVENESS_FAILED": /* prompt the user to try again */ break;
default: /* generic error handling */
}
}
Обратные вызовы жизненного цикла
В дополнение к onErrorAcessoBio, SDK также вызывает:
onUserClosedCameraManually()— пользователь вручную закрыл камеру.onSystemClosedCameraTimeoutSession()— сессия истекла из-за тайм-аута.onSystemChangedTypeCameraTimeoutFaceInference()— лицо не обнаружено в течение 13 секунд; SDK переключается на ручной захват.