Troubleshooting problems
Figuring out common issues when integrating Reclaim InApp SDK in React Native apps
Reading Logs
For advanced users, you can use the following methods to get logs from the Reclaim InApp SDK. These logs provide granular information about the verification journey, which helps with debugging and monitoring your integration.
How to get logs from Reclaim InApp SDK
You can enable console logging by using the following code:
This prints all the logs from the Reclaim InApp SDK to any console attached to your app.
How to get information about every log and send it to my backend?
If you have a capabilityAccessToken from Reclaim, you can get a stream of logs by adding a log listener using reclaimVerification.setOverrides:
The SDK's reclaimVerification.parseLog(log) method parses the logs and returns a typed log entry object.
Log entries may optionally have an eventType, which represents important milestones or errors in the user's verification journey.
Understanding these events helps with debugging and monitoring your integration. For a comprehensive list of event types, refer to the Log Event Types documentation.
Common Issues and Solutions
If you encounter issues while integrating Reclaim InApp SDK into your React Native application, here are some common troubleshooting steps to help you resolve them:
iOS build issues
Incase you get errors which say CocoaPods could not find compatible versions for pod "ReclaimInAppSdk", run the following in your project's ios/ directory:
Compatibility Notice: expo-dev-client on iOS
Please be aware of a known incompatibility between ReclaimInAppSdk and the expo-dev-client package on the iOS platform.
When both packages are present in your iOS application, critical network requests from ReclaimInAppSdk may fail with a request timeout error (i.e Http failed. Checking if we can retry..\nNSErrorClientException: The request timed out.).
Our team is investigating this issue to find a solution. In the meantime, we recommend temporarily removing expo-dev-client from your project when you need to test or use ReclaimInAppSdk functionality on iOS.
UI immediately closes
The verification likely ended with an exception, the exception is thrown as a [ReclaimVerification.ReclaimVerificationException] object.
A common reason behind this could be incorrect configuration used to start the verification like using a provider ID that is included for use for your app which can be fixed by ensuring the provider ID is correctly set up in your Reclaim Devtools Application dashboard.
To get more details about error, following is an example of how to handle the exception using [error.type]:
This error also contains sessionId, reason, and innerError that can be used to get more details about the occurred error.
Cronet errors on android without play services
On android devices which don't have play services, you may get following errors in Android logs: java.lang.RuntimeException: All available Cronet providers are disabled. A provider should be enabled before it can be used., Google-Play-Services-Cronet-Provider is unavailable.. This is because the Reclaim InApp SDK depends on cronet for making http requests.
To fix this, you need to use embedded cronet in your android app by adding the following dependency in your build.gradle dependencies block:
Need More Help?
If you need further assistance, please reach out to our support team or visit our Telegram community for help from other developers.
- Join our Telegram community
- Open an issue on our GitHub repository