---
title: MMP SDKs for Flutter: pub.dev Packages Compared
description: Which MMPs publish an official Flutter plugin on pub.dev: package name, licence, minimum iOS and Android version, repo and docs for 9 vendors, checked 2 Nov 2026.
url: https://mmpsdk.com/frameworks/flutter/
---

[Home](https://mmpsdk.com/) / [Frameworks](https://mmpsdk.com/frameworks/) / Flutter

# MMP SDKs for *Flutter*

Attribution plugins for Flutter apps, from pub.dev and each vendor's own docs: who publishes the package, its licence and the lowest iOS and Android version it supports.

**Short answer**

8 of the 9 MMPs tracked here publish an official Flutter SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Kochava, Linkrunner, Singular and Tenjin. Branch documents a route maintained by someone else.

## Flutter pinout: one pin per MMP

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

- 1 [Adjust](https://mmpsdk.com/mmp/adjust/)
- 2 [Airbridge](https://mmpsdk.com/mmp/airbridge/)
- 3 [AppMetrica](https://mmpsdk.com/mmp/appmetrica/)
- 4 [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/)
- 5 [Branch](https://mmpsdk.com/mmp/branch/)

**FW-FL** **Flutter** 8 of 9 official

- 6 [Kochava](https://mmpsdk.com/mmp/kochava/)
- 7 [Linkrunner](https://mmpsdk.com/mmp/linkrunner/)
- 8 [Singular](https://mmpsdk.com/mmp/singular/)
- 9 [Tenjin](https://mmpsdk.com/mmp/tenjin/)

Official Vendor-documented Community only None found

## Flutter SDKs compared

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

| MMP | Status | Package | Registry | Version | Licence | Minimum OS | Repo | Install docs | Notes |
|---|---|---|---|---|---|---|---|---|---|
| [Adjust](https://mmpsdk.com/mmp/adjust/) | Official | [adjust_sdk](https://pub.dev/packages/adjust_sdk) | pub.dev | 5.8.0 | MIT | iOS 12; Android API 21 | [Source](https://github.com/adjust/flutter_sdk) | [Install docs](https://dev.adjust.com/en/sdk/flutter) |  |
| [Airbridge](https://mmpsdk.com/mmp/airbridge/) | Official | [airbridge_flutter_sdk](https://pub.dev/packages/airbridge_flutter_sdk) | pub.dev | 4.12.0 | Not published | iOS 12.0; Android not published | Not public | [Install docs](https://help.airbridge.io/en/developers/flutter-sdk-v4) |  |
| [AppMetrica](https://mmpsdk.com/mmp/appmetrica/) | Official | [appmetrica_plugin](https://pub.dev/packages/appmetrica_plugin) | pub.dev (publisher appmetrica.yandex.com) | 4.1.0 | Proprietary (AppMetrica licence) | iOS 15.0; Android API 21 | [Source](https://github.com/appmetrica/appmetrica-flutter-plugin) | [Install docs](https://appmetrica.yandex.com/docs/en/sdk/flutter/analytics/quick-start) |  |
| [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/) | Official | [appsflyer_sdk](https://pub.dev/packages/appsflyer_sdk) | pub.dev | 7.0.4 | MIT | iOS 13.0; Android API 21 | [Source](https://github.com/AppsFlyerSDK/appsflyer-flutter-plugin) | [Install docs](https://github.com/AppsFlyerSDK/appsflyer-flutter-plugin/blob/master/doc/installation-guide.md) | Verified publisher appsflyer.com on pub.dev; plugin also ships a Package.swift for SPM. |
| [Branch](https://mmpsdk.com/mmp/branch/) | Vendor-documented | [flutter_branch_sdk](https://pub.dev/packages/flutter_branch_sdk) | pub.dev | 9.3.7 | MIT | iOS 13.0; Android API 21 | [Source](https://github.com/RodrigoSMarques/flutter_branch_sdk) | [Install docs](https://help.branch.io/developer-hub/flutter-sdk-basic-integration) | Branch documents this plugin; it is published on pub.dev by an individual maintainer. |
| [Kochava](https://mmpsdk.com/mmp/kochava/) | Official | [kochava_measurement](https://pub.dev/packages/kochava_measurement) | pub.dev | 5.0.0 | Proprietary (Kochava terms) | iOS 15.5; Android API 21 | [Source](https://github.com/Kochava/flutter-kochavameasurement-releases) | [Install docs](https://support.kochava.com/sdk-integration/flutter-sdk-integration/) | Legacy package kochava_tracker (2.6.0, 2024) is superseded. |
| [Linkrunner](https://mmpsdk.com/mmp/linkrunner/) | Official | [linkrunner](https://pub.dev/packages/linkrunner) | pub.dev | 4.4.2 | MIT | iOS 15.0; Android API 21 | [Source](https://github.com/RathodDarshil/linkrunner) | [Install docs](https://docs.linkrunner.io/sdk/flutter?utm_source=mmpsdk&utm_medium=referral&utm_campaign=frameworks-flutter) |  |
| [Singular](https://mmpsdk.com/mmp/singular/) | Official | [singular_flutter_sdk](https://pub.dev/packages/singular_flutter_sdk) | pub.dev | 1.9.1 | MIT | iOS 12.0; Android API 21 | [Source](https://github.com/singular-labs/Singular-Flutter-SDK) | [Install docs](https://github.com/singular-labs/Singular-Flutter-SDK#readme) |  |
| [Tenjin](https://mmpsdk.com/mmp/tenjin/) | Official | [tenjin_plugin](https://pub.dev/packages/tenjin_plugin) | pub.dev (publisher tenjin.com) | 1.5.0 | BSD-3-Clause | iOS 12.0; Android API 21 | [Source](https://github.com/tenjin/flutter-sdk) | [Install docs](https://github.com/tenjin/flutter-sdk#readme) | Plugin bundles Install Referrer, AAID and App Set ID as transitive dependencies. |

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

- **Install**
  Run `flutter pub add <package>`. Check who publishes it on pub.dev: a verified vendor publisher is the official route; an individual publisher may be a vendor-endorsed wrapper or a community port.
- **Minimum versions**
  Raise `platform :ios` in `ios/Podfile` and `minSdk` in `android/app/build.gradle` to at least what the plugin's podspec and Gradle file ask for.
- **Android permissions**
  `INTERNET` and `ACCESS_NETWORK_STATE` come from the plugin's manifest in most cases. Apps targeting Android 13 or later need `com.google.android.gms.permission.AD_ID` to read the advertising ID.
- **Play Install Referrer**
  Several Flutter plugins bundle the Install Referrer library as a dependency of their Android SDK; others ask you to add it to `build.gradle`.
- **ATT prompt**
  Add `NSUserTrackingUsageDescription` to `ios/Runner/Info.plist`. Show the prompt from Dart (the plugin may expose a method) or with a separate ATT package, before the SDK sends its first event if you want the IDFA on the install.
- **Deep links**
  Enable Associated Domains in Xcode for universal links and add an App Links intent filter to `AndroidManifest.xml`. Flutter's own deep link handling can intercept links, so follow the vendor's note on turning it off if the SDK should receive them.

## Questions

**Which MMPs have an official Flutter SDK?**

8 of the 9 MMPs tracked here publish an official Flutter SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Kochava, Linkrunner, Singular and Tenjin. Branch documents a route maintained by someone else.

**How do I install an MMP SDK in a Flutter app?**

flutter pub add the package, then check the iOS deployment target in the Podfile and minSdk in android/app/build.gradle.

**Is every Flutter MMP plugin published by the vendor?**

No. Branch documents a Flutter plugin that is published on pub.dev by an individual maintainer rather than by Branch itself. The table marks this as vendor-documented rather than vendor-published.

**Does Flutter's built-in deep linking conflict with an MMP SDK?**

It can. When Flutter's deep linking flag is on, the framework may handle a universal link before the attribution SDK sees it, so vendors' docs often tell you to turn it off or hand the link to the SDK.

**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-RN **React Native** npm install the vendor package, then run pod install in the ios folder. Autolinking wires up the native side. *9 of 9 official*](https://mmpsdk.com/frameworks/react-native/)
- [FW-EX **Expo** 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. *6 of 9 official*](https://mmpsdk.com/frameworks/expo/)
- [FW-UN **Unity** Add 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*](https://mmpsdk.com/frameworks/unity/)
- [FW-CP **Capacitor** npm install the plugin, then npx cap sync to copy it into the iOS and Android projects. *4 of 9 official*](https://mmpsdk.com/frameworks/capacitor/)
- [FW-CD **Cordova** cordova plugin add the package, then rebuild both platforms. *7 of 9 official*](https://mmpsdk.com/frameworks/cordova/)
- [FW-IOS **iOS (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*](https://mmpsdk.com/frameworks/ios/)
- [FW-AND **Android (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*](https://mmpsdk.com/frameworks/android/)
- [FW-WEB **Web** Add the vendor's script tag or npm package to the site, then initialise it with your app or project key. *7 of 9 official*](https://mmpsdk.com/frameworks/web/)
