Error Handling / Debugging
HYPR SDK for Android
This article explains how errors are returned using the HYPR SDK for Android.
HyprStatusResult
is similar to a linked list. Each node represents a level where the error could have occurred. That level is specified by the StatusType
.
FIDO_SERVER -> HYPR_SERVER_RP -> HYPR_UI_ADAPTER -> HYPR_USER_AGENT -> FIDO_CLIENT -> FIDO_ASM -> FIDO_AUTHENTICATOR_TLV
HyprStatusResult
HyprStatusResult
Errors are returned back to an activity via the onActivityResult
override method inside of HyprStatusResult
.
First check to see if the Extra
exists in the Intent data returned back to the calling activity from the HYPR Activity launched via a HyprApiActionAdatper
method call, then cast to the HyprStatusResult
object.
Once you have this object, then you can get the Display Code, Display Text, and other various attributes such as displaying the class toString()
which will give an integrating developer the full Error Trace that is required to debug issues.
@Override
protected void onActivityResult(int requestCode,
int resultCode,
Intent data) {
if (data != null && data.hasExtra(INTENT_KEY_HYPR_STATUS_RESULT)) {
HyprStatusResult statusResult = (HyprStatusResult) data.getSerializableExtra(INTENT_KEY_HYPR_STATUS_RESULT);
if (statusResult != null) {
// Display Error and Display Text can be shown to the end user
int displayErrorCode = statusResult.getLowestLevelDisplayCode();
String displayErrorText = statusResult.getLowestLevelDisplayText();
// Display the lowest level developer error string
String developerDebugText = statusResult.getLowestLevelExtraInfo();
// Display the complete debug log for this Error.
// This is what developers should use to fully debug issues.
String developerFullDebugLog = statusResult.toString();
}
}
}
Display Codes
The display codes that is returned in HyprStatusResult
are listed in the table below.
Display Error Text
The display error text that is returned in HyprStatusResult
are listed in the table below.
Android Errors
DEVELOPER ERROR
This error type represents errors which may occur during the SDK integration. They should not be visible to the end user.
Below is a full list of all possible errors returned by HYPR SDK for Android. The table is listed by error code, error string, and display information provided in the SDK.
Display Error Code | String Resource Name (R.string.*) | Detailed Cause | Error Line Listed Cause | Error Line Listed Reason | Type |
---|---|---|---|---|---|
11100 | hypr_error_display_default_operation_cancel | Any non-authenticator specific cancel. | n/a | n/a | Developer Error |
111010 | hypr_error_display_default_reg_failed | Authenticator does not support the attestation type. This occurs when a policy is set to use a Full Basic Authenticator ADP SDK, but the developer used a Surrogate Authenticator Prefs SDK instead. | Registration Failed | Please try again or contact your Support for more detail. | Developer Error |
114010 | hypr_error_display_operation_failed | Any generic failure that is not caused by the user but rather the underlying framework. Example: null pointer exceptions, invalid states, operating system errors, invalid develop implementations of interfaces, etc. | Operation Failed | Please try again or contact your Support for more detail. | Developer Error |
114011 | hypr_error_display_operation_failed | The FacetId generated by the top-level application is not present on the FIDO Server. The FacetId needs to be added to the FIDO Server FacetId list. | FacetId Check Failed | FacetId Check Failed. Please contact your support for more detail. | Developer Error |
114040 | hypr_error_display_transaction_invalid | There is a list of transactions specified in the JSON, however, there is no transaction with the type "text/plain". | Transaction Invalid | Please contact your Support for more detail. | Developer Error |
114070 | hypr_error_display_invalid_ssl_credentials | Invalid SSL credentials are used by HYPROne developer. | Operation failed | Please try again or contact your Support for more detail. | Developer Error |
1110020 | hypr_error_display_pin_failure | Headless PIN Registration was null. Used by developer implementing Headless PIN. | Operation failed | Your PIN is incorrect. Please contact your Support for more detail. | Developer Error |
1110030 | hypr_error_display_pin_failure | Headless PIN Authentication was null. Used by developer implementing Headless PIN. | Operation failed | Your PIN is incorrect. Please contact your Support for more detail. | Developer Error |
1110040 | hypr_error_display_pin_failure | Headless PIN Registration was invalid. Used by developer implementing Headless PIN. | Operation failed | Your PIN is incorrect. Please contact your Support for more detail. | Developer Error |
1110050 | hypr_error_display_pin_failure | Headless PIN Authentication was invalid. Used by developer implementing Headless PIN. | Operation failed | Your PIN is incorrect. Please contact your Support for more detail. | Developer Error |
1111040 | hypr_error_display_biometricprompt_locked_out_permanent | There were more fingerprint failures after the first lockout so the fingerprint reader is permanently locked. | Operation failed | Too many failure attempts. Fingerprint reader is locked. Please go to Android Settings and unlock Fingerprint. | Developer Error |
1111050 | hypr_error_display_biometricprompt_timeout | Your request to authenticate this device didn't complete in time. | Operation failed | Your request to authenticate this device didn't complete in time. Please try again. | Developer Error |
1111060 | hypr_error_display_biometricprompt_no_space | Not enough storage is available. | Operation failed | Not enough storage is available. Please free up memory and try again. | Developer Error |
1112010 | hypr_error_display_fv_enroll | Generic face registration failed message when cause not known. | Registration failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1112010 | hypr_error_display_fv_auth | Generic face authentication failed message when cause not known. | Authentication failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1112020 | hypr_error_display_fv_enroll_timed_out | Face registration timed out. | Registration failed | Your request to enroll this device didn't complete in time. Please try again. | Developer Error |
1112020 | hypr_error_display_fv_auth_timed_out | Face authentication timed out. | Authentication failed | Your request to authenticate didn't complete in time. Please try again. | Developer Error |
1112030 | hypr_error_display_fv_enroll_external_auth | Face registration failed due to Sensory returning this error code. | Registration failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1112030 | hypr_error_display_fv_auth_external_auth | Face authentication failed due to Sensory returning this error code. | Authentication failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1112060 | hypr_error_display_fv_face_media_unavailable | Physical hardware not available on device. | Operation failed | Camera is currently not available. Please close any application which may have the camera in use. | Developer Error |
1112070 | hypr_error_display_fv_disk_space | Face - not enough storage available on device. | Operation failed | Not enough storage is available. Please free up memory and try again. | Developer Error |
1113010 | hypr_error_display_fv_enroll | Generic voice registration failed message when cause not known. | Registration failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1113010 | hypr_error_display_fv_auth | Generic voice authentication failed message when cause not known. | Authentication failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1113030 | hypr_error_display_fv_enroll_external_auth | Voice registration failed due to Sensory returning this error code. | Registration failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1113030 | hypr_error_display_fv_auth_external_auth | Voice authentication failed due to Sensory returning this error code. | Authentication failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1113040 | hypr_error_display_fv_voice_permissions | Voice permissions denied. | Operation failed | This app needs permission to use the microphone. Please enable it in the device settings. | Developer Error |
1113050 | hypr_error_display_fv_voice_no_enrollments | No voice registered. | Authentication failed | No user registered with voice authentication. | Developer Error |
1113060 | hypr_error_display_fv_voice_media_unavailable | Physical hardware not available on device. | Operation failed | Microphone is currently not available. Please close any application which may have the microphone in use. | Developer Error |
1113070 | hypr_error_display_fv_disk_space | Voice - not enough storage available on device. | Operation failed | Not enough storage is available. Please free up memory and try again. | Developer Error |
1114020 | hypr_error_display_palm_auth_error | Palm failed due to error. | Authentication failed | Something went wrong with your authentication method. Please try again. | Developer Error |
1114030 | hypr_error_display_palm_auth_not_recognized | Palm failed due to not recognized. | Authentication failed | Palm not recognized. Please try again. | User Error |
11100 | hypr_error_display_pin_auth_cancelled | In PIN Authenticator, cancel button or back button pressed. | n/a | n/a | User Error |
11100 | hypr_error_display_finger_auth_aborted | In Fingerprint Authenticator, cancel button or back button pressed. | n/a | n/a | User Error |
11100 | hypr_error_display_fv_enroll_aborted | In Face Authenticator, cancel button or back button pressed. | n/a | n/a | User Error |
11100 | hypr_error_display_fv_auth_aborted | In Voice Authenticator, cancel button or back button pressed. | n/a | n/a | User Error |
114012 | hypr_error_display_discovery_failed | Discovery Failed due to no Authenticator matching the policy. | Operations Failed | Discovery Failed due to no Authenticator matching the policy. Please contact your support for more detail. | User Error |
114020 | hypr_error_display_hardware_not_supported | If the authenticator hardware is not supported. Example: a device does not have a fingerprint reader. This really should never show since it should be filtered out by the FIDO Client. This would only really apply if we use our Authenticator with a different companies FIDO Client. | Authenticator Hardware Not Supported | Please contact your Support for more detail. | User Error |
114030 | hypr_error_display_not_registered | The authenticator registration does not exist in the ASM database. | Authenticator is not Registered | Please contact your Support for more detail. | User Error |
114050 | hypr_error_display_barcode_permissions | Barcode permissions denied. | Operation failed | This app needs permission to use the camera. Please enable it in the app's settings. | User Error |
114060 | hypr_error_display_server_error | Server error occurred. | Operation failed | Please try again or contact your support for more detail. | User Error |
114080 | hypr_error_display_no_network_title | No network connection exists. | Operation failed | Seems like you have no internet connection. Make sure you are connected to the internet and try again. | User Error |
114090 | hypr_error_display_app_backgrounded | App was backgrounded at any time during an operation. | Operation cancelled | Please try again. | User Error |
1110010 | hypr_error_display_pin_incorrect | Authentication PIN incorrect. | Authentication failed | Your PIN is incorrect. Please try again. | User Error |
1111010 | hypr_error_display_biometricprompt_not_recognized | Biometric not recognized. | Operation failed | Biometric not recognized. Please try again. | User Error |
1111020 | hypr_error_display_biometricprompt_no_biometric_on_device | No biometrics found on this device. | Operation failed | No biometrics found on this device. You must add one in your phone's settings. | User Error |
1111030 | hypr_error_display_biometricprompt_locked_out | Too many failure attempts. Please wait to retry. | Operation failed | Too many failed attempts. | User Error |
1112040 | hypr_error_display_fv_face_permissions | Face permissions denied. | Operation failed | This app needs permission to use the camera. Please enable it in the device settings. | User Error |
1112050 | hypr_error_display_fv_face_no_enrollments | No face registered. | Authentication failed | No user registered with face authentication. | User Error |
1113020 | hypr_error_display_fv_enroll_timed_out | Voice registration timed out. | Registration failed | Your request to enroll this device didn't complete in time. Please try again. | User Error |
1113020 | hypr_error_display_fv_auth_timed_out | Voice authentication timed out. | Authentication failed | Your request to authenticate didn't complete in time. Please try again. | User Error |
1114010 | hypr_error_display_palm_enroll_failed | Palm failed due to not recognized. | Registration failed | Something went wrong with your authentication method. Please try again. | User Error |
1114040 | hypr_error_display_palm_permissions | Palm permissions denied. | Operation failed | This app needs permission to use the camera. Please enable it in the device settings. | User Error |
1114050 | hypr_error_display_palm_enroll_timed_out | Your request to enroll this device didn't complete in time. | Registration failed | Your request to enroll this device didn't complete in time. Please try again. | User Error |
1114050 | hypr_error_display_palm_auth_timed_out | Your request to authenticate this device didn't complete in time. | Authentication failed | Your request to authenticate this device didn't complete in time. Please try again. | User Error |
ADB Logging
ADB Logging can be enabled with an entry in the overrides.xml
file located in the following directory in the application project:
<project>/app/src/main/res/values/overrides.xml
<string name="hypr_show_release_log_filter" translatable="false">1</string>
<string name="hypr_show_release_log_filter" translatable="false">131072</string>
<string name="hypr_show_release_log_filter" translatable="false">1048576</string>
To properly diagnose integration issues, it is recommended to set this filter when debugging issues. This will give the full HyprStatusResult
error trace logs.
<string name="hypr_show_release_log_filter" translatable="false">4294967295</string>
Updated 22 days ago