IPQS
iOS Fingerprinting SDK
About the iOS Fingerprinting SDK

The IPQS Mobile Device Fingerprinting SDK protects iOS 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 iOS 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.

Integrating the SDK

Before integrating the SDK package, you will need to have created a new mobile app in your IPQS account.

The SDK package collects non-sensitive data about the user's device and in-app behavior, and only collects this data when called with the functions below. The IPQS iOS SDK is packaged into a zip file which you will include within your app.

Note: The Mobile Device Fingerprinting SDK package requires Xcode 11.0+ and iOS 11.0+.
  1. Download the SDK package zip file.

  2. Open your xCode project.

  3. Copy the package to your xCode project.

  4. From the Targets menu, select Your Target then Frameworks.

  5. Next to IPQualityScore select Sign & Embed.

  6. Open the Build Settings menu.

  7. Set Validate Workspace to Yes.

  8. Set Enable Bitcode to No.

  9. In the code of your app, add your API key using the static variable MobileTracker.apiKey 

  10. Add the following code to your info.plist:

     
Examples

Add Custom Tracking Variable

The following code allows for passing 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:

 

Process Mobile iOS Fingerprint SDK

 

Email Verification Lookup


IP Address Reputation Lookup

 

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.

 

Retrieve multiple requests with the Request List API

This method uses the Request List API to search by Device ID and IP Address. 

Ready to eliminate fraud?

Start fighting fraud now with 5,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