MMP SDKs for React Native
Every attribution SDK for a React Native app, from the npm registry and each vendor's own docs: the package to install, its licence and the lowest iOS and Android version it supports.
9 of the 9 MMPs tracked here publish an official React Native SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.
React Native pinout: one pin per MMP
Filled pins have an official SDK. Pins are in A to Z order.
React Native SDKs compared
Last checked 2 Nov 2026. Package, version and licence from npm; minimum OS from podspecs, Gradle files and vendor docs.
| MMP | Status | Package | Registry | Version | Licence | Minimum OS | Repo | Install docs | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Official | react-native-adjust | npm | 5.8.0 | MIT | iOS 12; Android API 21 | Source | Install docs | ||
| Official | airbridge-react-native-sdk | npm | 4.11.0 | MIT | Not published | Not public | Install docs | A restricted variant airbridge-react-native-sdk-restricted is also published. | |
| Official | @appmetrica/react-native-analytics | npm | 4.2.0 | MIT | Android API 21; iOS follows React Native | Source | Install docs | ||
| Official | react-native-appsflyer | npm | 7.0.2-v2 | MIT | iOS 13.0; Android API 21 (default) | Source | Install docs | The npm latest tag is 7.0.2-v2; release candidates are on a separate tag. | |
| Official | react-native-branch | npm | 7.0.0 | MIT | iOS 12.0; Android API 16 (default) | Source | Install docs | ||
| Official | react-native-kochava-measurement | npm | 5.0.0 | Proprietary (Kochava terms) | iOS 15.5; Android API 21 | Source | Install docs | Docs list React Native 0.80 as minimum; optional per-store modules ship as separate npm packages (e.g. react-native-kochava-measurement-google). | |
| Official | rn-linkrunner | npm | 3.4.2 | MIT | iOS 15.0; Android API 24 | Source | Install docs | iOS side depends on the LinkrunnerKit pod 4.3.2. | |
| Official | singular-react-native | npm | 4.3.1 | MIT | iOS 12.0; Android API 21 | Source | Install docs | ||
| Official | react-native-tenjin | npm | 1.8.1 | MIT | Android API 24 (default); iOS follows React Native | Source | Install docs | Wraps TenjinSDK 1.20.0 (iOS) and com.tenjin:android-sdk 2.0.2. |
"Not published" means no primary source states the value; it does not mean there is no minimum. Registry and repo links are for reference.
What the SDK needs from you
The setup steps that apply to any attribution SDK in a React Native app. Each vendor datasheet lists that vendor's own requirements.
- InstallAdd the vendor's npm package, then run
pod installinsideios/so the native iOS SDK is pulled in. Autolinking handles Android. - Minimum versionsCheck the package's podspec and
android/build.gradle. An SDK that needs iOS 15 will not build if your Podfile targets iOS 13. - Android permissionsMost SDKs declare
INTERNETandACCESS_NETWORK_STATEthemselves. The advertising ID needscom.google.android.gms.permission.AD_IDwhen you target Android 13 (API 33) or later; several SDKs add it for you, and child-directed apps remove it. - Play Install ReferrerAndroid attribution reads the Google Play Install Referrer. Some SDKs bundle the library, others ask you to add
com.android.installreferrer:installreferrer. The vendor table below says which. - ATT promptTo read the IDFA on iOS 14.5 or later, add
NSUserTrackingUsageDescriptionto Info.plist and show Apple's App Tracking Transparency prompt. Some SDKs can wait a set number of seconds for the answer before sending the install. - Deep linksAdd Associated Domains (
applinks:) for universal links, an Android intent filter withandroid:autoVerify="true"for App Links, and pass incoming links to the SDK so deferred deep links resolve on first open.
Questions
Which MMPs have an official React Native SDK?
9 of the 9 MMPs tracked here publish an official React Native SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.
How do I install an MMP SDK in a React Native app?
npm install the vendor package, then run pod install in the ios folder. Autolinking wires up the native side.
Does a React Native MMP SDK work with the New Architecture?
It depends on the package version, so check the vendor's changelog for TurboModule or New Architecture support. AppsFlyer's Expo plugin 7.x, for example, documents Expo SDK 52 or later with the New Architecture.
Do I need to touch native code to add an MMP to React Native?
Usually only configuration: Info.plist keys, the Android manifest, Associated Domains and intent filters. The SDK itself installs from npm and links automatically, but deep links and the ATT prompt still need native project settings.
What is an MMP SDK?
An MMP SDK is the library a mobile measurement partner asks you to add to your app. It records the first open, in-app events and deep link opens, and sends them to the MMP so installs can be matched to the ad or link that drove them.
Is every MMP SDK open source?
No. Many wrappers and SDKs are MIT licensed, but some native SDKs are proprietary: AppsFlyer's native iOS and Android SDKs, Kochava's SDKs and AppMetrica's Flutter plugin are published under proprietary terms. The licence column in each table shows what the registry or repository states.
Other frameworks
- FW-FLFlutterflutter pub add the package, then check the iOS deployment target in the Podfile and minSdk in android/app/build.gradle.8 of 9 official
- FW-EXExponpx expo install the package, add its config plugin to app.json, then npx expo prebuild and run a development build. Expo Go cannot load these native SDKs.6 of 9 official
- FW-UNUnityAdd the package by Git URL in Unity Package Manager or import the .unitypackage, then resolve native dependencies (often with EDM4U) before building for iOS and Android.8 of 9 official
- FW-CPCapacitornpm install the plugin, then npx cap sync to copy it into the iOS and Android projects.4 of 9 official
- FW-CDCordovacordova plugin add the package, then rebuild both platforms.7 of 9 official
- FW-IOSiOS (native)Add the Swift package in Xcode or the pod to your Podfile, then initialise the SDK early in the app's launch.9 of 9 official
- FW-ANDAndroid (native)Add the artifact to your Gradle dependencies (and the vendor's Maven repository if it is not on Maven Central), then initialise the SDK in Application.onCreate.9 of 9 official
- FW-WEBWebAdd the vendor's script tag or npm package to the site, then initialise it with your app or project key.7 of 9 official