SDKs

Lynx

Identify devices in Lynx apps on iOS and Android through a native module over the Fingerly mobile SDKs.

@fingerly/lynx is a Lynx native module over the iOS and Android SDKs, with the same TypeScript API as React Native.

Requirements

  • Lynx 4.1 on iOS 13 or Android 6.0 (API 23) or newer.
  • HarmonyOS, Web and Lynxtron hosts are not supported.

Install

  1. Step 1: Add the package

    Terminal
    pnpm add @fingerly/lynx
    
  2. On Android, apply org.lynxsdk.library-settings in settings.gradle and org.lynxsdk.library-build in your app module. On iOS, add the cocoapods-lynx-library plugin to your Podfile, call use_lynx_library!, then run pod install.

  3. Step 3: Rebuild the host app

    The module is registered at build time.

Identify a device

src/fingerly.ts
'background only'
import { load } from '@fingerly/lynx'

const fingerly = await load({ apiKey: 'fly_pk_us_production_…' })
const result = await fingerly.identify({ tag: 'checkout' })

// Send result.requestId to your backend and make the decision there.

API

load({ apiKey, endpoint?, consent? }), identify({ tag?, submit? }), collect(), setConsent(state) and nativeVersion() behave as in the React Native SDK. Errors are FingerlyError with an optional HTTP status; without consent they are ConsentError.

Verdicts

VerdictPlatformWhat it means
instrumentationBothAn instrumentation toolkit is attached to the app.
mitmBothSomething is intercepting the app's encrypted traffic.
automationBothA debugger or a test runner is driving the app.
tamperingBothThe app's code has been hooked or modified.
farmBothThe device looks mass-provisioned or freshly reset.
jailbreak, simulatoriOSJailbroken device; iOS Simulator.
root, emulator, appClonerAndroidRooted device; emulator; cloning framework.

Verdicts a platform cannot answer are returned as { value: false, confidence: 'low', reasons: [] }, so the shape is the same on both.