Troubleshooting on Android
PingOne Android
Handling errors
The pingonemfa module converts errors from the native PingOne MFA SDK into PingOneMFAException, so your app never works with the native SDK’s error classes directly.
The module’s suspend functions never throw. They return Result.failure with a PingOneMFAException:
PingOneMFA.pair(pairingKey)
.onSuccess {
// success path
}
.onFailure { e ->
// Use message for display or simple logging
Log.e("MFA", e.message)
// internalErrorsList holds structured details for developer logging
(e as? PingOneMFAException)?.internalErrorsList?.forEach { error ->
Log.e("MFA", "code=${error.code} userInfo=${error.userInfo}")
}
}
Use the message property for display or simple logging. Use internalErrorsList for developer diagnostics only; it contains one entry per underlying native SDK error, each with the numeric error code, a message, and any additional server-provided diagnostic data. The entries in internalErrorsList are not suitable for showing to users.
The error codes match those listed in the PingOne MFA SDK for Android error codes.
Troubleshooting
- Push notifications not received
-
-
Verify that the FCM push token was registered with
setDeviceToken. -
Confirm that
google-services.jsonis present and matches your application ID. -
Check that FCM is configured in your PingOne environment.
-
- One-time passcode request fails with a device-not-paired error
-
Ensure that
pairwas called and succeeded before requesting a passcode. - Initialization or pairing fails unexpectedly
-
-
Check network connectivity to the PingOne MFA service.
-
Confirm that the geography passed to
initializematches the region of your PingOne environment.
-