- About the IPQS APIs
- Proxy & VPN Detection API
- Email Verification API
- Phone Number Validation API
- Malicious URL Scanner API
- Device Fingerprint API
- Mobile Device Fingerprinting SDK
- Gaming Fraud Detection SDK
- Dark Web Leak API
- Malware File Scanner API
- Request List API
- Fraud Reporting API
- Account Management APIs
- Bulk Validation CSV
- Allowlist Blocklist APIs
- Plugins Platforms Integrations
- IP Reputation Database
- IP Address Abuse Feed
- Email Verification Database
-
Custom Integrations
- Getting Started
- Authentication
- Refresh Secret
- IP & Proxy Checks
- Email Verification Checks
- Phone Number Validity Checks
- Device Tracker
- List Device Trackers
- Device Tracker Statistics
- Login Tokens
- Overview Statistics
- Recent Proxy Statistics
- Recent Email Statistics
- Fraud Reporting
- Retrieve Requests by ID
- Country List API Documentation
- Release Notes
Common Exceptions
Rate this article:
Select all that apply:
Email:
About Exceptions
The error messages detailed below are intended to help you avoid potential pitfalls before deployment so you can receive the best fraud scores possible.
There are many "IPQualityScore.UnitySDK..." exceptions and log messages thrown throughout the UnitySDK. Most are innocuous and are simply there for IPQualityScore personnel to monitor the effectiveness of the SDK and tweak future versions.
If the API call is a success, then all error and info logs were sent to IPQS. Unless explicitly stated, these messages do not indicate a security threat or sup-par fraud score.
Main Thread Error
| Issue | Description |
|---|---|
| Message Received: | "This method cannot be run asynchronously. Please move it to the main thread." |
| Problem: | This indicates the GetScore() method has be run in an asynchronous thread. |
| Solution: | In your project, ensure that GetScore() is always called from the main thread. |
API Key Missing
| Issue | Description |
|---|---|
| Message Received: | "Invalid or nonexistent app key" |
| Problem: | This indicates the API key is either invalid or has not been set. |
| Solution: | Set the API key. See Parameters for more details. |
Code Stripping & IL2CPP Errors
| Issue | Description |
|---|---|
| Message Received: | "A necessary type is probably not accessible" |
| Problem: | Unity's Managed Code Stripping Engine has not added one a necessary method or parameter to the build. |
| Possible Solutions: | 1. Clean and rebuild the project. 2. Under Project Settings > Player > Other Settings, Lower the "Managed Stripping Lever" or disable "Strip Engine Code". 3. Check Unity's Managed Code Stripping documentation for ways to not omit the necessary code. |
| Issue | Description |
|---|---|
| Message Received: | Unsupported internal call for IL2CPP: SomeMethod or Assembly - "This icall is not supported by il2cpp." |
| Problem: | Either the Managed Code Stripping Engine has removed a necessary method, or IL2CPP does not include a C# method IPQualityScore uses to fingerprint a device. |
| Possible Solutions: | 1. Under Project Settings > Player > Other Settings, change "Scripting Backend" to Mono. 2. Check Unity's Managed Code Stripping documentation for ways to not omit the necessary code. 3. If there are less than 3 of these messages, you can ignore them. The device fingerprint will still have enough data to provide an accurate fraud score, and they won't upset the end user's experience. |
Permission
| Issue | Description |
|---|---|
| Message Received: | "Permission Type permission has either not been requested yet, or has not been granted by user." |
| Problem: | Before GetScore() was called, either the end user was not queried or did not grant the given permission. See Customizing the Fingerprint for a more detailed explanation. |
| Possible Solutions: | 1. If you do want to gather location data, prompt the user for device location before calling GetScore(). 2. If you do not want to gather location data, as part of your fingerprint customization, change the "Find User Location" to false. |
iOS: Info.plist
| Issue | Description |
|---|---|
| Message Received: | "Missing Info.plist values..." |
| Problem: | On the iOS build, the necessary Info.plist values are either missing or improperly added. |
| Solutions: | Fix the Info.plist values. See Testing and Building in XCode for a more detailed explanation. |