riverty logo

Docs

iOS Profile Tracking

Our service for device fingerprinting is accessible for iOS devices as well. It assists in precisely recognizing the devices engaging with your mobile application and offers reliable intelligent cues to anticipate potentially risky transactions.

Installation

Profile tracking in your Android app is enabled by the Profile Tracking ‘Collector’ SDK, provided to you by our industry-leading partner Experian. Our implementation team will give you credentials to access and use the Profile Tracking SDK.

You will get access to CollectorCore.xcframework. Drag the CollectorCore.xcframework folder into your Xcode’s Frameworks and Libraries section.

Project Root -> Targets -> YourApp - Frameworks and Libraries

Quick Start

Configure the ‘Collector’ Profile Tracking SDK with your assigned SHOP_ID, and call the collect method with a unique SESSION_ID. Profile tracking data will then be submitted and used for enhanced risk analysis for transactions with matching SESSION_ID.

Profile Tracking API key

The ‘Collector’ Profile Tracking SDK needs an API key for use in production.

Locate your Info.plist. Add a new entry under Information Property List and use com.ins.collector.API_KEY as Key. As Value, set your API key.

Use In Production Environment

Set you environment explicitly to Environment.PRODUCTION

  • if no SHOP ID or valid API key have been provided, the library will run in TEST mode and data submitted will be lost.
Task {
    do {
        let collector = CollectorFactory.getInstance(
            Configuration(
                clientId: "<SHOP_ID>",
                environment: .production
            )
        )
        try await collector.collect("<SESSION-ID>")
        print("DONE")
    } catch {
        print(error.localizedDescription )
        print("FAIL")
    }
}

Configuration

Location

User location is an important factor or determining the risk level of a transaction. Profile Tracking will give the best possible result with precise user location. However, your app will always need to have user permission to use location information, in accordance with Apple’s permission rules.

Profile Tracking can be used with and without precise location data. It is fully your choice whether it makes sense to ask for location permission in your app.

If your app already asks for location permission (for instance, as part of selecting shipping location), then your users may experience little-to-no impact with location data for Profile Tracking. On the other hand, if your app currently makes no use of location data, you would have ask for permission in a way that makes a good user experience. In that case, you might consider Profile Tracking without precise location — our Implementation team is always available to advise.

  • The users permission must have been granted beforehand. The library will NOT actively prompt the user for it.
...
    Configuration(
      ...
      skipLocation : false
      ...
    )
...

Debug

If you experience trouble while integrating the library into your app, you may enable the debug mode.

    Configuration(
      ...
      debug : true
      ...
    )

Telemetry

To get additional help from our engineering team, you may enable telemetry mode. This will submit the libraries logs automatically to help with troubleshooting.

kotlin
    Configuration(
    Configuration(
      ...
      telemetry : true
      ...
    )

Going into production

Once your app goes into production explicitly set the libraries environment to PRODUCTION

    Configuration(
      ...
      environment: .production
      ...
    )

Excluding Modules

If a module is not needed for your use case or causes trouble, you may choose to exclude it.

Notable options:

  • collector-module-location
  • collector-module-logger

Note, if you choose to exclude the logger module neither debug mode nor telemetry mode will be avaliable

Use one of the provided xcframework variants:

  • CollectorCore-no-module-logger.xcframework
  • CollectorCore-no-module-logger-location.xcframework
  • CollectorCore-min.xcframework

API Purpose Declaration

In WWDC 2023, Apple announced that starting Spring 2024, it will require its developers to declare the reasons for using certain APIs (aka Required Reason APIs) that could be misused to collect data about users' devices within privacy manifest files.

Privacy manifest files allow developers to describe their privacy practices:

  • Data that their app or SDK collects and its purpose.
  • Required Reason APIs that their app or SDK uses and the reason for using them.