MMP SDKs for Android (native)
Native Android attribution SDKs for Kotlin and Java apps, from Maven Central, vendor Maven repositories and each vendor's docs.
9 of the 9 MMPs tracked here publish an official Android (native) SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.
Android (native) pinout: one pin per MMP
Filled pins have an official SDK. Pins are in A to Z order.
Android (native) SDKs compared
Last checked 2 Nov 2026. Package, version and licence from Maven; minimum OS from podspecs, Gradle files and vendor docs.
| MMP | Status | Package | Registry | Version | Licence | Minimum OS | Repo | Install docs | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Official | com.adjust.sdk:adjust-android | Maven Central | 5.8.1 | MIT | Android API 21 | Source | Install docs | ||
| Official | io.airbridge:sdk-android | Airbridge Maven repo (sdk-download.airbridge.io/maven) | 4.12.1 | Not published | Android API 16 | Not public | Install docs | Not on Maven Central; requires adding Airbridge's own Maven repository. | |
| Official | io.appmetrica.analytics:analytics | Maven Central | 8.6.0 | MIT | minSdk 21 | Source | Install docs | ||
| Official | com.appsflyer:af-android-sdk | Maven Central | 7.0.4 | Proprietary | Android API 21 | Source | Install docs | GitHub repo holds only LICENSE (terms of use) and README; SDK is closed source. | |
| Official | io.branch.sdk.android:library | Maven Central | 5.21.3 | Apache-2.0 (POM); MIT (repo) | Android API 21 | Source | Install docs | Maven metadata also lists 6.0.0-beta.3 as newest pre-release. | |
| Official | com.kochava.measurement:base | Maven Central + Kochava Maven (maven.sdk.kochava.com) | 7.0.0 | Proprietary (Kochava terms) | minSdk 21 | Source | Install docs | Docs say newer versions require the Kochava Maven repo; optional store modules (google, huawei, meta, samsung, amazon). | |
| Official | io.linkrunner:android-sdk | Maven Central | 4.4.0 | MIT | Android API 21 | Not public | Install docs | Source repository is not public. | |
| Official | com.singular.sdk:singular_sdk | Singular Maven repo (maven.singular.net) | 12.17.0 | Not published | Android API 21 | Not public | Not found | Not on Maven Central; apps add Singular's Maven repository (maven.singular.net). | |
| Official | com.tenjin:android-sdk | Maven Central | 2.0.2 | MIT | minSdk 21 | Source | Install docs |
"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 Android app. Each vendor datasheet lists that vendor's own requirements.
- RepositoryMost artifacts are on Maven Central. Airbridge and Singular publish to their own Maven repositories, which you add to
settings.gradle. - Permissions
INTERNETandACCESS_NETWORK_STATEare standard.com.google.android.gms.permission.AD_IDis needed to read the advertising ID when targeting Android 13 (API 33) or later; remove it for child-directed apps. - Play Install ReferrerThe main Android attribution signal for Play Store installs. Check whether the SDK pulls in
com.android.installreferrer:installreferreritself or asks you to add it. - Initialise earlyStart the SDK in
Application.onCreateso the first open is captured, then send your first in-app event. - Deep linksAdd an intent filter with
android:autoVerify="true"for App Links and hostassetlinks.json(most MMPs host it on their link domain). Pass the intent to the SDK inonCreateandonNewIntent. - Other storesFor Huawei, Samsung or Xiaomi stores, add the vendor's optional referrer modules where offered.
Questions
Which MMPs have an official Android (native) SDK?
9 of the 9 MMPs tracked here publish an official Android (native) SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.
How do I install an MMP SDK in a Android app?
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.
Does an MMP need the Google Advertising ID?
Not to work, but it helps. Attribution starts from the Play Install Referrer, which carries the click's referrer string; the GAID adds a device-level match for view-through and some network postbacks. Apps targeting Android 13 or later must declare the AD_ID permission to read it.
Why are some Android SDKs not on Maven Central?
Some vendors host their own Maven repository, so you add its URL to your Gradle settings. It works the same way but is one more repository your build depends on.
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-RNReact Nativenpm install the vendor package, then run pod install in the ios folder. Autolinking wires up the native side.9 of 9 official
- 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-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