Skip to main content
This guide will help you install and set up the Linkrunner SDK in your Expo application.
Migrating from an older version? For instructions on upgrading from 1.x.x/2.x.x to version 3.x.x, see the Migration Guide.

Requirements

  • Expo SDK 52.0 or higher
  • Node.js 18.0 or higher
  • React Native 0.70 or higher

Installation

Step 1: Install Both Packages

Install both the React Native and Expo packages:
npm install rn-linkrunner

npx expo install expo-linkrunner

Configuration

Add Plugin to app.json

Important: You must add the expo-linkrunner plugin to your app.json plugins array:
{
    "expo": {
        "plugins": [
            [
                "expo-linkrunner",
                {
                    "userTrackingPermission": "This identifier will be used to deliver personalized ads.",
                    "debug": true
                }
            ]
        ]
    }
}

What the expo-linkrunner plugin does?

When you add expo-linkrunner to your app.json plugins and run the Expo prebuild step, the config plugin automatically makes the following changes to your iOS project:
  • Adds NSUserTrackingUsageDescription in your iOS Info.plist if not already present.
  • Automatically applies the expo-tracking-transparency plugin with a default permission message
These changes are required for IDFA (Identifier for Advertisers) tracking and to comply with Apple’s App Tracking Transparency (ATT) requirements.

Next Steps

The expo-linkrunner package is a config plugin that automatically configures your Expo project for Linkrunner SDK integration. Once you’ve completed the installation and configuration steps above:
  1. Prebuild your project:
    • For EAS Build: If your android and ios folders are in .gitignore (recommended), EAS Build will automatically run the prebuild step during the build process. No manual action required.
    • For local development or custom development clients:
      npx expo prebuild
      
  2. Backup Configuration (Android):
For Android apps, the SDK provides backup rules to exclude Shared Preferences data from backup. This prevents the retention of the Linkrunner install ID during reinstallation, ensuring accurate detection of new installs and re-installs. For detailed backup configuration instructions, please refer to the Android SDK Backup Configuration.
  1. Follow the React Native usage guide: Since expo-linkrunner is a config plugin that prepares your project, the actual SDK usage is identical to React Native. Please refer to the React Native Usage Guide for:
    • Initializing the SDK
    • Tracking events
    • Handling deep links
    • Advanced features
The expo-linkrunner plugin handles the native configuration automatically. All SDK methods and APIs are provided by the rn-linkrunner package, which is why you’ll use the React Native documentation for implementation details.