Attribution SDKs by framework
Nine app frameworks, nine MMPs. Open a framework to see every vendor's package, licence and minimum OS side by side.
React Native has an official SDK from all 9 MMPs tracked here; Capacitor has the fewest, with 4. Every framework below has its own datasheet with the packages, licences, minimum OS versions and a setup checklist.
How many MMPs support each framework?
| Framework | Official | Vendor-documented | Community only | None found |
|---|---|---|---|---|
| React Native | 9 | 0 | 0 | 0 |
| Flutter | 8 | 1 | 0 | 0 |
| Expo | 6 | 2 | 0 | 1 |
| Unity | 8 | 1 | 0 | 0 |
| Capacitor | 4 | 0 | 2 | 3 |
| Cordova | 7 | 0 | 2 | 0 |
| iOS (native) | 9 | 0 | 0 | 0 |
| Android (native) | 9 | 0 | 0 | 0 |
| Web | 7 | 0 | 0 | 2 |
Checked 2 Nov 2026
Framework datasheets
- 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-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
Coverage matrix
Questions
Which framework has the most MMP SDK coverage?
React Native: all 9 vendors tracked here publish an official package. Native Android follows with 9, while Capacitor has the fewest at 4.
Why use a framework SDK instead of the native SDKs?
A framework SDK wraps the vendor's native iOS and Android SDKs and gives you one JavaScript, Dart or C# API. You still configure native settings such as ATT and deep links, but you call one API from shared code.
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.
What does official mean in these tables?
Official means the vendor publishes the package itself. Vendor-documented means the vendor's docs describe the route but someone else maintains the package or plugin. Community only means only third-party packages exist.
How often are these SDK facts checked?
Every package, version, licence and minimum OS value was read from the package registry, the source repository or the vendor's docs on 2 Nov 2026. Where no primary source states a value, the table says Not published instead of guessing.