MMP SDK HubAttribution SDK datasheets
Home / Frameworks / Expo

MMP SDKs for Expo

Expo support for attribution SDKs, from npm and each vendor's own docs: which vendors publish a config plugin, which document a community plugin and which have no Expo route at all.

Short answer

6 of the 9 MMPs tracked here publish an official Expo SDK: Airbridge, AppMetrica, AppsFlyer, Kochava, Linkrunner and Singular. Adjust and Branch document a route maintained by someone else. No Expo SDK found for Tenjin.

Expo pinout: one pin per MMP

Filled pins have an official SDK. Pins are in A to Z order.

OfficialVendor-documentedCommunity onlyNone found

Expo SDKs compared

Last checked 2 Nov 2026. Package, version and licence from npm; minimum OS from podspecs, Gradle files and vendor docs.

MMPStatusPackageRegistryVersionLicenceMinimum OSRepoInstall docsNotes
AdjustVendor-documented@config-plugins/react-native-adjust + react-native-adjustnpm14.0.2MITiOS 12; Android API 21SourceInstall docsAdjust's RN docs have an Expo tab; the config plugin is maintained in expo/config-plugins and cannot be used with Expo Go.
AirbridgeOfficialairbridge-expo-sdk + airbridge-react-native-sdknpm4.11.0MITNot publishedNot publicInstall docsConfigured as a plugin in app.json; the docs page does not mention Expo Go, prebuild or development builds.
AppMetricaOfficial@appmetrica/react-native-analyticsnpm4.2.0MITNot publishedSourceInstall docsDocs give Expo steps requiring expo-dev-client (development build, not Expo Go); no config plugin mentioned.
AppsFlyerOfficialreact-native-appsflyer (Expo config plugin via app.json plugins)npm7.0.2-v2MITExpo SDK 52+ (New Architecture)SourceInstall docsRequires expo-dev-client development build and expo prebuild; not Expo Go.
BranchVendor-documented@config-plugins/react-native-branch (with react-native-branch)npm13.0.2MITExpo SDK 54+SourceInstall docsBranch documents Expo but says the config plugin is community-maintained; needs a development build, not Expo Go.
KochavaOfficialreact-native-kochava-measurementnpm5.0.0Proprietary (Kochava terms)iOS 15.5; Android API 21SourceInstall docsReact Native docs list Expo 54 as a minimum; a config plugin is documented only for an older major version.
LinkrunnerOfficialexpo-linkrunner (config plugin) + rn-linkrunnernpm3.6.5MITExpo SDK 52+; iOS 15.0SourceInstall docsConfig plugin applied at npx expo prebuild; needs a development build, not Expo Go.
SingularOfficialsingular-react-native (ships app.plugin.js Expo config plugin)npm4.3.1MITNot publishedSourceInstall docsThe Expo config plugin ships inside Singular's React Native package; a development build is needed.
TenjinNone foundNo package foundTenjin docs and the react-native-tenjin README do not mention Expo; package ships no config plugin.

"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 Expo app. Each vendor datasheet lists that vendor's own requirements.

  • Development build
    Attribution SDKs contain native code, so they do not run in Expo Go. Use a development build (expo-dev-client) or EAS Build.
  • Config plugin
    Add the vendor's config plugin to the plugins array in app.json or app.config.js. It writes the Info.plist keys, Android manifest entries and Associated Domains during npx expo prebuild.
  • Android permissions
    Check what the plugin adds to the manifest. Singular's plugin, for example, adds INTERNET, ACCESS_NETWORK_STATE and com.google.android.gms.permission.AD_ID.
  • Play Install Referrer
    Comes with the vendor's React Native package in most cases; nothing extra in Expo unless the vendor's Android docs ask for it.
  • ATT prompt
    Set NSUserTrackingUsageDescription through ios.infoPlist in app config (or the plugin's option), then show the prompt with expo-tracking-transparency or the SDK's own method.
  • Deep links
    Set ios.associatedDomains and android.intentFilters with autoVerify in app config, and make sure Expo Router or your linking config passes the URL to the SDK.

Questions

Which MMPs have an official Expo SDK?

6 of the 9 MMPs tracked here publish an official Expo SDK: Airbridge, AppMetrica, AppsFlyer, Kochava, Linkrunner and Singular. Adjust and Branch document a route maintained by someone else. No Expo SDK found for Tenjin.

How do I install an MMP SDK in a Expo app?

npx 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.

Can I use an MMP SDK in Expo Go?

No. Expo Go only contains the native modules Expo ships, so an attribution SDK with its own native code needs a development build or an EAS build. Every Expo route in this table assumes that.

What is the difference between a vendor and a community Expo config plugin?

A vendor plugin is published inside or alongside the vendor's own package, so it moves with SDK releases. A community plugin, such as those in the expo/config-plugins repository, is maintained separately and can lag behind a new SDK version.

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.