IPQS
Flutter Fingerprinting SDK
About the Flutter Fingerprinting SDK

The IPQS Mobile Device Fingerprinting SDK protects Flutter apps against sophisticated fraud and abuse from high-level bad actors. IPQS uses a mix of JS device fingerprinting and mobile SDK device fingerprinting to enable your Flutter app to accurately identify fraud and abusive behavior with mobile device fingerprinting techniques. Verify new or returning users and identify high-risk behavior, including:

  • Mobile emulators
  • Residential botnets
  • Location spoofing
  • GPS tampering
  • Bots
  • Non-human requests
  • Fake accounts
  • Install fraud
  • and hijacked devices.

IPQS makes it easy to detect duplicate accounts, bonus abuse, fraudulent users, fake installs, and more.

 

Downloading The SDK

You can download the flutter SDK from the user dashboard after creating a new mobile app and selecting "Flutter" as the platform.

Usage

Initial Setup

Utilize the FraudEngine class and the FraudEngine channel like-so:

 

Add Custom Tracking Variables

The following code allows for passing custom tracking variables such as a user ID, transaction ID, click ID, and similar identifiers to associate a mobile device fingerprint request with a specific user or action:

 

Set up permissions

 

Mobile Device Fingerprinting

 

Email Verification Lookup

 

IP Address Reputation Lookup

 

Phone Number Verification Lookup

 

Custom Endpoint

Setting Up the Flutter SDK

Installation & Setup: 

1: Download the Flutter SDK via App Management for your app.

2: Add the plugin folder to your project.

3: Add a dependency to your pubspec.yaml :

4: For iOS, open the ios/runner/info.plist  file.

Add the following to the <dict>  element:

For usage of location data, add this to the same info.plist  file:

For Android setup, open or create ./android/local.properties and add:

Add the following to your   ./android/app/build.gradle

For usage of permissions in Android, add the following to your ./android/app/src/main/AndroidManifest.xml  file:

 

Result Methods

Our SDK offers various result methods and functions to enhance your experience and help prevent fraudulent activity.

Field Description Type
message Get the response message string for this request. This usually returns "Success" but can include administrator-level information on why a request failed. String
success A boolean containing the request's success or failure status. "True" on success, "false" on failure. Boolean
request_id The unique ID associated with this request. Helpful for debugging and postbacks. String
fraud_score Number 0 - 100 describing how likely this device is to commit fraud. 0 being not at all, 100 being definitively fraudulent. We suggest blocking users greater than 85. Float
country_code A two-character country code based on this user's IP address. String
region A string describing the region this user's IP is from. String
city A string describing the city this user's IP is from. String
ISP A string describing the ISP this user's IP belongs to. String
organization A string describing the Organization to which this user's IP belongs. String
ASN The ASN assigned to the ISP to which this user's IP belongs. Integer
latitude The latitude where this user's IP is located. Float
longitude The longitude where this user's IP is located. Float
is_crawler Returns "true" if this user's IP is from any of the following search engine crawlers: Baidu, Google, Bing, Yahoo, Yandex, Sogou, Exabot, DuckDuckGo, Facebook, Twitter, Pinterest, Naver, UptimeRobot, AppleBot, ArchiveBot, CoccocBot, YisouBot, PetalBot, ByteDance, and MailRU. Boolean
timezone Returns the timezone this user's IP is from. String
host Returns the hostname of this user's IP address. String
proxy Returns "true" if this user's IP is a known proxy. Boolean
vpn Returns "true" if this user's IP is a known VPN. Boolean
tor Returns "true" if this user's IP is a known or suspected TOR node. Boolean
recent_abuse Returns "true" if this user's IP has been reported for being abusive recently or if this device has been seen performing abusive actions. Boolean
bot_status Returns "true" if this user's IP has been reported for botting or if this device has been seen performing bot-like actions. Boolean
connection_type Classification of the IP address connection type as "Residential", "Corporate", "Education", "Mobile", or "Data Center". String
device_suspicious Returns "true" if this device has suspicious properties or has been seen performing suspicious activities recently. Boolean
device_emulated Returns "true" if this device has been emulated or appears to have been emulated. Boolean
device_id A unique identifier for this device. String

 

Retrieve Results
Note: Before using either of these methods, make sure your initial API request passed a valid userID value (or any variable of your choice) using the addCustomVariable function. The variable name must be set on your custom tracking variables.

 

Postback Example to Retrieve Latest Request by UserID

This method uses the Postback API to retrieve requests by userID. Replace XX with the specific user ID you want to retrieve requests for.

 

Retrieve multiple requests with the Request List API

This method uses the Request List API to retrieve requests by userID. Replace XX with the specific user ID you want to retrieve requests for.

Troubleshooting
Error Code Description Solution
REWSC-404 The API key is missing or invalid. Confirm you have set up the API key correctly and that the API key is correct.

Ready to eliminate fraud?

Start fighting fraud now with 1,000 Free Lookups!

We're happy to answer any questions or concerns.

Chat with our fraud detection experts any day of the week.

Call us at: (800) 713-2618