flutter_asa_attribution

A Flutter plugin for retrieving Apple Search Ads attribution tokens and campaign attribution details on iOS.

Features

  • Retrieves the Apple Search Ads attribution token with AdServices.
  • Requests campaign attribution details from Apple's AdServices attribution API.
  • Supports iOS integration through CocoaPods and Swift Package Manager.

Platform support

Platform Support
iOS iOS 14.3+

Apple Search Ads attribution is only available on iOS. Android, web, macOS, Windows, and Linux are not supported by this plugin.

Installation

Add the package to your pubspec.yaml:

dependencies:
  flutter_asa_attribution: ^1.1.0

Then run:

flutter pub get

iOS setup

The plugin uses Apple's AdServices framework and requires iOS 14.3 or later.

Make sure your app includes a tracking usage description if you request tracking authorization elsewhere in your app:

<key>NSUserTrackingUsageDescription</key>
<string>Obtaining Attribution Data</string>

Usage

import 'package:flutter_asa_attribution/flutter_asa_attribution.dart';

final token = await FlutterAsaAttribution.instance.attributionToken();

final data = await FlutterAsaAttribution.instance.requestAttributionDetails();

requestAttributionDetails returns the attribution response as a Map<String, dynamic>?. If Apple returns an empty or non-dictionary response, the plugin returns an empty map.

Example response:

{
  "attribution": true,
  "orgId": 40669820,
  "campaignId": 542370539,
  "conversionType": "Download",
  "clickDate": "2020-04-08T17:17Z",
  "adGroupId": 542317095,
  "countryOrRegion": "US",
  "keywordId": 87675432,
  "creativeSetId": 542317136
}

Notes

Apple's attribution API may return limited data depending on user privacy settings, campaign configuration, and Apple's attribution rules.