adjust-icon

Flutter SDK integration guide

The Adjust Flutter SDK enables you to measure attribution, events, and much more in your Flutter app. Follow the steps in this guide to set up your app to work with the Adjust SDK. You can also check out the example app on GitHub.

1. Add the SDK to your project

To use the Adjust Flutter SDK in your Flutter app, you need to add it to your project.

To import the Adjust SDK to your Flutter project, follow these steps:

  1. Add the following to your pubspec.yaml file:

    dependencies:
    adjust_sdk: ^5.0.3
  2. Navigate to your project and run the following command. Visual Studio automatically runs this command after you edit the pubspec.yaml file.

    Terminal window
    $ flutter packages get

2. Set up Android devices

Add Google Play Services

Apps that target the Google Play Store must use the Google Advertising ID (gps_adid) to identify devices. To do this, add the following dependency to the dependencies section of your build.gradle file.

implementation 'com.google.android.gms:play-services-ads-identifier:18.1.0'

Add permissions

The Adjust SDK requires the following permissions. Add them to your AndroidManifest.xml file if they're not already present:

<uses-permission android:name="android.permission.INTERNET"/>

The Adjust SDK includes the com.google.android.gms.AD_ID permission by default. You can remove it by adding a remove directive if need to make your app COPPA-compliant or if you don't target the Google Play Store.

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

Set up install referrer

The install referrer is a unique identifier which you can use to attribute an app install to a source. The Adjust SDK requires this information to perform attribution.

Google Play Referrer API

To support the Google Play Referrer API, add the following in your build.gradle file:

implementation 'com.android.installreferrer:installreferrer:2.2'

Meta referrer integration

The Adjust SDK supports the Meta Install Referrer using the Adjust Meta Install Referrer plugin. See the Flutter Meta Install Referrer plugin for integration details.

3. Add iOS frameworks

The Adjust SDK is able to get extra information when you include certain iOS frameworks in your app. These frameworks enable certain SDK features, but they're not mandatory for the SDK to work normally. You can add the frameworks and then mark them as Optional in Project Settings --> Build Phases --> Link Binary With Libraries.

FrameworkDescriptionNotes
AdSupport.frameworkEnables access to the device's IDFA. Also enables access to LAT information on devices running iOS 14 or earlierDon't add this framework if your app targets the "Kids" category
AdServices.frameworkHandles Apple Search Ads attribution
StoreKit.frameworkEnables access to the SKAdNetwork frameworkRequired to allow the Adjust SDK to handle communication with SKAdNetwork on devices running iOS 14 or later
AppTrackingTransparency.frameworkRequired to allow the Adjust SDK to wrap user ATT consent dialog and access consent responses on devices running iOS 14 or laterDon't add this framework if your app targets the "Kids" category

4. Set up SDK Signature

If you want to use the SDK signature library to secure communications between the Adjust SDK and Adjust's servers, follow the instructions in the SDK signature guide on the Adjust Help Center.

5. Initialize the Adjust SDK

Make sure you initialize the Adjust SDK as soon as possible in your Flutter app. To do this, initialize your config object with your app token and the environment you want to run your application in.

AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
Adjust.initSdk(config);

6. Build your app

Well done! You should now be able to build and run your Flutter app. Enable logging to check for any issues. Check your logs to see the Install tracked message.

You are ready to start attributing your users with the Adjust SDK.

7. Test your integration

The Adjust SDK provides tools for testing and troubleshooting issues with your integration. To test your setup:

  • Set your environment to AdjustEnvironment.sandbox.
  • Add a sandbox filter to your Adjust dashboard results.
  • Set your log level to AdjustLogLevel.verbose.

Test Google Play Services integration

To test that the Adjust SDK can receive a device's Google Advertising ID, set the log level to AdjustLogLevel.verbose and the environment to AdjustEnvironment.sandbox. Start your app and measure a session or an event. The SDK logs the gps_adid (Google Play Services Advertiser ID) parameter if it has read the advertising ID.

If you're experiencing issues retrieving the Google Advertising ID, open an issue in the SDK GitHub repository or contact support@adjust.com