appsflyer_sdk 6.3.0-nullsafety.0-beta appsflyer_sdk: ^6.3.0-nullsafety.0-beta 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.2.6
-
Android AppsFlyerSDK v6.2.0
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 #
β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);
π 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:
-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
[GeneratedPluginRegistrant registerWithRegistry:self];
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
//If you want to do something with the pop-up
}];
}
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
-
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.