Skip to main content
Supported on: iOS SDK 1.0.61+ · Android SDK 1.0.33+ · React Native SDK 1.0.4+
The deep links module handles deferred deep links — routing users to the correct screen on first launch after installing from a link. This enables attribution tracking, referral programs, and contextual first-launch experiences. A deferred deep link works across the install boundary:
  1. User clicks a link on the web (e.g., https://yourapp.com/workout/123?ref=instagram)
  2. User is redirected to the App Store or Play Store and installs your app
  3. On first launch, the SDK resolves the original link and returns the destination
checkDeferredDeepLink is a static method on AppDNA. It should be called once on first launch, typically after configure() completes. The SDK returns null if no deferred link is found or if the app was not installed from a link. On Android, resolution uses the Google Install Referrer API plus AppDNA’s stored visitor context.
checkDeferredDeepLink is a top-level static method on AppDNA, not part of the deep links module:

Module Access

Module Methods

AppDNADeepLinkDelegate

Register a delegate for deep link events:
shouldOpen is a veto called BEFORE the SDK processes a deep link. Return false to defer routing (for example until after login completes) and handle the URL yourself once the user is authenticated. Return true to let the SDK proceed with default handling.

Example Implementation

Platform Setup

Deep links require platform-specific configuration in your iOS and Android host projects. To support Universal Links on iOS, configure your app:
  1. Enable Associated Domains in your target’s Signing & Capabilities.
  2. Add your domain: applinks:yourapp.com
  3. Host an apple-app-site-association file on your domain.
In your iOS host (AppDelegate.swift or SceneDelegate.swift), forward incoming URLs to the SDK:
  1. Add intent filters to your AndroidManifest.xml:
  1. Host a Digital Asset Links file at https://yourapp.com/.well-known/assetlinks.json.
  2. In your MainActivity.kt, forward the incoming intent’s data URL to the SDK:

Forwarding from TypeScript

If your app already parses deep links in TypeScript (e.g. via React Native’s built-in Linking API or the expo-linking package), forward them to the SDK so triggers, attribution, and the delegate fire consistently:

Auto-Tracked Events

Full Example

Deep link routes are configured in the Console under Engagement > Deep Links. The SDK resolves deferred links by checking the Google Install Referrer (Android) plus AppDNA’s stored visitor context on first launch.