appsflyer_sdk 6.5.2
appsflyer_sdk: ^6.5.2 copied to clipboard
A Flutter plugin for AppsFlyer SDK. Supports iOS and Android.

appsflyer_sdk #
A Flutter plugin for AppsFlyer SDK.
🛠 In order for us to provide optimal support, we would kindly ask you to submit any issues to support@appsflyer.com
When submitting an issue please specify your AppsFlyer sign-up (account) email , your app ID , reproduction steps, logs, code snippets and any additional relevant information.
Table of content #
- v6 Breaking changes
- Getting started
- Setting AppsFlyer options
- Initializing the SDK
- Set plugin for IOS 14
- Additional Guides
- APIs
Supported Platforms #
- Android
- iOS 8+
This plugin is built for #
-
iOS AppsFlyerSDK v6.5.2
-
Android AppsFlyerSDK v6.4.3
Flutter 2.0 is supported from version 6.2.3+2
, including null safety support! #
The version 6.2.4-flutterv1
will use iOS SDK V6.2.4 with Flutter V1 #
❗Breaking changes in v6.4.0 #
- UDL (Unified deep link) now as a dedicated class with getters for handling the deeplink result. Check the full UDL guide.
setSharingFilter
&setSharingFilterForAllPartners
APIs are deprecated. Instead use the new APIsetSharingFilterForPartners
.
❗Breaking changes in v6.3.5+2 #
- Remove stream from the plugin (no change is needed if you use callbacks for handling deeplink).
❗Migration Guide to v6 #
In v6 of AppsFlyer SDK there are some api breaking changes:
Before v6 | v6 |
---|---|
trackEvent | logEvent |
stopTracking | stop |
validateAndTrackInAppPurchase | validateAndLogInAppPurchase |
Before v6.1.2+4 | v6.1.2+4 |
---|---|
validateAndTrackInAppPurchase | validateAndTrackInAppIosPurchase/validateAndTrackInAppAndroidPurchase |
Important notice #
- Switch
ConversionData
andOnAppOpenAttribution
to be based on callbacks instead of streams since plugin version6.0.5+2
📲 Getting started #
In order to install the plugin, visit this page.
⚙️ AppsFlyerOptions #
To start using AppsFlyer you first need to create an instance of AppsflyerSdk
before using any other of our sdk functionalities.
AppsflyerSdk
receives a map or AppsFlyerOptions
object. This is how you can configure our AppsflyerSdk
instance and connect it to your AppsFlyer account.
Example (using map):
import 'package:appsflyer_sdk/appsflyer_sdk.dart';
//..
Map appsFlyerOptions = { "afDevKey": afDevKey,
"afAppId": appId,
"isDebug": true};
AppsflyerSdk appsflyerSdk = AppsflyerSdk(appsFlyerOptions);
Disable Advertiser ID & IDFA:
Adding "disableAdvertisingIdentifier": true
in the appsFlyerOptions will disable:
Android:
OAID (Open Anonymous Device Identifier)
AAID (Amazon Advertising ID)
GAID (Google Advertising ID)
iOS:
IDFA
Map appsFlyerOptions = {
"afDevKey": afDevKey,
"afAppId": appId,
"isDebug": true
"disableAdvertisingIdentifier": true
};
🚀 Initializing the SDK #
The next step is to call initSdk
which have the optional boolean parameters
registerConversionDataCallback
,
registerOnAppOpenAttributionCallback
and
registerOnDeepLinkingCallback
which are set to true as default.
After we call initSdk
we can use all of AppsFlyer SDK features.
Initialize the SDK to enable AppsFlyer to detect installations, sessions (app opens) ,updates and use all of our features.
appsflyerSdk.initSdk(
registerConversionDataCallback: true,
registerOnAppOpenAttributionCallback: true,
registerOnDeepLinkingCallback: true
);
Set plugin for IOS 14 #
-
Add
#import <AppTrackingTransparency/AppTrackingTransparency.h>
in yourAppDelegate.m
-
Add the ATT pop-up for IDFA collection so your
AppDelegate.m
will look like this:
- (void)applicationDidBecomeActive:(nonnull UIApplication *)application {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// native code here
}];
}
}
-
Add Privacy - Tracking Usage Description inside your
.plist
file in Xcode. -
Optional: Set the
timeToWaitForATTUserAuthorization
property in theAppsFlyerOptions
to delay the sdk initazliation for a number ofx seconds
until the user accept the consent dialog:
AppsFlyerOptions options = AppsFlyerOptions(
afDevKey: DotEnv().env["DEV_KEY"],
appId: DotEnv().env["APP_ID"],
showDebug: true,
timeToWaitForATTUserAuthorization: 30
);
For more info visit our Full Support guide for iOS 14:
**📖 Additional Guides (Deeplinking, out of store, Strict mode (app for kids) & iOS 14) ** #
Great installation and setup guides can be viewed here
📑 API #
see the full API available for this plugin.