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.1

Then run:

flutter pub get

iOS setup

The plugin uses Apple's AdServices framework and requires iOS 14.3 or later. No manual Xcode framework setup is required when installing this plugin through CocoaPods or Swift Package Manager.

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.