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

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 CodeString Resource Name (R.string.*) Detailed CauseError Line Listed CauseError Line Listed ReasonType
11100hypr_error_display_default_operation_cancelAny non-authenticator specific cancel.n/an/aDeveloper Error
111010hypr_error_display_default_reg_failedAuthenticator 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 FailedPlease try again or contact your Support for more detail.Developer Error
114010hypr_error_display_operation_failedAny 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 FailedPlease try again or contact your Support for more detail.Developer Error
114011hypr_error_display_operation_failedThe 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 FailedFacetId Check Failed. Please contact your support for more detail.Developer Error
114040hypr_error_display_transaction_invalidThere is a list of transactions specified in the JSON, however, there is no transaction with the type "text/plain".Transaction InvalidPlease contact your Support for more detail.Developer Error
114070hypr_error_display_invalid_ssl_credentialsInvalid SSL credentials are used by HYPROne developer.Operation failedPlease try again or contact your Support for more detail.Developer Error
1110020hypr_error_display_pin_failureHeadless PIN Registration was null. Used by developer implementing Headless PIN.Operation failedYour PIN is incorrect. Please contact your Support for more detail.Developer Error
1110030hypr_error_display_pin_failureHeadless PIN Authentication was null. Used by developer implementing Headless PIN.Operation failedYour PIN is incorrect. Please contact your Support for more detail.Developer Error
1110040hypr_error_display_pin_failureHeadless PIN Registration was invalid. Used by developer implementing Headless PIN.Operation failedYour PIN is incorrect. Please contact your Support for more detail.Developer Error
1110050hypr_error_display_pin_failureHeadless PIN Authentication was invalid. Used by developer implementing Headless PIN.Operation failedYour PIN is incorrect. Please contact your Support for more detail.Developer Error
1111040hypr_error_display_biometricprompt_locked_out_permanentThere were more fingerprint failures after the first lockout so the fingerprint reader is permanently locked.Operation failedToo many failure attempts. Fingerprint reader is locked. Please go to Android Settings and unlock Fingerprint.Developer Error
1111050hypr_error_display_biometricprompt_timeoutYour request to authenticate this device didn't complete in time.Operation failedYour request to authenticate this device didn't complete in time. Please try again.Developer Error
1111060hypr_error_display_biometricprompt_no_spaceNot enough storage is available.Operation failedNot enough storage is available. Please free up memory and try again.Developer Error
1112010hypr_error_display_fv_enrollGeneric face registration failed message when cause not known.Registration failedSomething went wrong with your authentication method. Please try again.Developer Error
1112010hypr_error_display_fv_authGeneric face authentication failed message when cause not known.Authentication failedSomething went wrong with your authentication method. Please try again.Developer Error
1112020hypr_error_display_fv_enroll_timed_outFace registration timed out.Registration failedYour request to enroll this device didn't complete in time. Please try again.Developer Error
1112020hypr_error_display_fv_auth_timed_outFace authentication timed out.Authentication failedYour request to authenticate didn't complete in time. Please try again.Developer Error
1112030hypr_error_display_fv_enroll_external_authFace registration failed due to Sensory returning this error code.Registration failedSomething went wrong with your authentication method. Please try again.Developer Error
1112030hypr_error_display_fv_auth_external_authFace authentication failed due to Sensory returning this error code.Authentication failedSomething went wrong with your authentication method. Please try again.Developer Error
1112060hypr_error_display_fv_face_media_unavailablePhysical hardware not available on device.Operation failedCamera is currently not available. Please close any application which may have the camera in use.Developer Error
1112070hypr_error_display_fv_disk_spaceFace - not enough storage available on device.Operation failedNot enough storage is available. Please free up memory and try again.Developer Error
1113010hypr_error_display_fv_enrollGeneric voice registration failed message when cause not known.Registration failedSomething went wrong with your authentication method. Please try again.Developer Error
1113010hypr_error_display_fv_authGeneric voice authentication failed message when cause not known.Authentication failedSomething went wrong with your authentication method. Please try again.Developer Error
1113030hypr_error_display_fv_enroll_external_authVoice registration failed due to Sensory returning this error code.Registration failedSomething went wrong with your authentication method. Please try again.Developer Error
1113030hypr_error_display_fv_auth_external_authVoice authentication failed due to Sensory returning this error code.Authentication failedSomething went wrong with your authentication method. Please try again.Developer Error
1113040hypr_error_display_fv_voice_permissionsVoice permissions denied.Operation failedThis app needs permission to use the microphone. Please enable it in the device settings.Developer Error
1113050hypr_error_display_fv_voice_no_enrollmentsNo voice registered.Authentication failedNo user registered with voice authentication.Developer Error
1113060hypr_error_display_fv_voice_media_unavailablePhysical hardware not available on device.Operation failedMicrophone is currently not available. Please close any application which may have the microphone in use.Developer Error
1113070hypr_error_display_fv_disk_spaceVoice - not enough storage available on device.Operation failedNot enough storage is available. Please free up memory and try again.Developer Error
1114020hypr_error_display_palm_auth_errorPalm failed due to error.Authentication failedSomething went wrong with your authentication method. Please try again.Developer Error
1114030hypr_error_display_palm_auth_not_recognizedPalm failed due to not recognized.Authentication failedPalm not recognized. Please try again.User Error
11100hypr_error_display_pin_auth_cancelledIn PIN Authenticator, cancel button or back button pressed.n/an/aUser Error
11100hypr_error_display_finger_auth_abortedIn Fingerprint Authenticator, cancel button or back button pressed.n/an/aUser Error
11100hypr_error_display_fv_enroll_abortedIn Face Authenticator, cancel button or back button pressed.n/an/aUser Error
11100hypr_error_display_fv_auth_abortedIn Voice Authenticator, cancel button or back button pressed.n/an/aUser Error
114012hypr_error_display_discovery_failedDiscovery Failed due to no Authenticator matching the policy.Operations FailedDiscovery Failed due to no Authenticator matching the policy. Please contact your support for more detail.User Error
114020hypr_error_display_hardware_not_supportedIf 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 SupportedPlease contact your Support for more detail.User Error
114030hypr_error_display_not_registeredThe authenticator registration does not exist in the ASM database.Authenticator is not RegisteredPlease contact your Support for more detail.User Error
114050hypr_error_display_barcode_permissionsBarcode permissions denied.Operation failedThis app needs permission to use the camera. Please enable it in the app's settings.User Error
114060hypr_error_display_server_errorServer error occurred.Operation failedPlease try again or contact your support for more detail.User Error
114080hypr_error_display_no_network_titleNo network connection exists.Operation failedSeems like you have no internet connection. Make sure you are connected to the internet and try again.User Error
114090hypr_error_display_app_backgroundedApp was backgrounded at any time during an operation.Operation cancelledPlease try again.User Error
1110010hypr_error_display_pin_incorrectAuthentication PIN incorrect.Authentication failedYour PIN is incorrect. Please try again.User Error
1111010hypr_error_display_biometricprompt_not_recognizedBiometric not recognized.Operation failedBiometric not recognized. Please try again.User Error
1111020hypr_error_display_biometricprompt_no_biometric_on_deviceNo biometrics found on this device.Operation failedNo biometrics found on this device. You must add one in your phone's settings.User Error
1111030hypr_error_display_biometricprompt_locked_outToo many failure attempts. Please wait to retry.Operation failedToo many failed attempts.User Error
1112040hypr_error_display_fv_face_permissionsFace permissions denied.Operation failedThis app needs permission to use the camera. Please enable it in the device settings.User Error
1112050hypr_error_display_fv_face_no_enrollmentsNo face registered.Authentication failedNo user registered with face authentication.User Error
1113020hypr_error_display_fv_enroll_timed_outVoice registration timed out.Registration failedYour request to enroll this device didn't complete in time. Please try again.User Error
1113020hypr_error_display_fv_auth_timed_outVoice authentication timed out.Authentication failedYour request to authenticate didn't complete in time. Please try again.User Error
1114010hypr_error_display_palm_enroll_failedPalm failed due to not recognized.Registration failedSomething went wrong with your authentication method. Please try again.User Error
1114040hypr_error_display_palm_permissionsPalm permissions denied.Operation failedThis app needs permission to use the camera. Please enable it in the device settings.User Error
1114050hypr_error_display_palm_enroll_timed_outYour request to enroll this device didn't complete in time.Registration failedYour request to enroll this device didn't complete in time. Please try again.User Error
1114050hypr_error_display_palm_auth_timed_outYour request to authenticate this device didn't complete in time.Authentication failedYour 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>