@@ -23,8 +23,12 @@ When submitting an issue please specify your AppsFlyer sign-up (account) email ,
2323- [ Getting started] ( #getting-started )
2424- [ Setting AppsFlyer options] ( #appsFlyer-options )
2525- [ Initializing the SDK] ( #init-sdk )
26- - [ Guides] ( #guides )
27- - [ API] ( #api )
26+ - [ Set plugin for IOS 14] ( #ios14 )
27+ - [ Setting strict mode (app for kids)] ( #strictMode )
28+ - [ Additional Guides] ( #guides )
29+ - [ APIs] ( #api )
30+
31+ ---
2832
2933### Supported Platforms
3034
@@ -42,6 +46,7 @@ When submitting an issue please specify your AppsFlyer sign-up (account) email ,
4246### The version ` 6.2.4-flutterv1 ` will use iOS SDK V6.2.4 with Flutter V1
4347
4448---
49+
4550## <a id =" v6-breaking-changes " > ** ❗Migration Guide to v6**
4651- [ Integration guide] ( https://support.appsflyer.com//hc/en-us/articles/207032066#introduction )
4752- [ Migration guide] ( https://support.appsflyer.com/hc/en-us/articles/360011571778 )
@@ -61,10 +66,14 @@ In v6 of AppsFlyer SDK there are some api breaking changes:
6166### Important notice
6267- Switch ` ConversionData ` and ` OnAppOpenAttribution ` to be based on callbacks instead of streams since plugin version ` 6.0.5+2 `
6368
69+ ---
70+
6471## <a id =" getting-started " > ** 📲 Getting started**
6572
6673In order to install the plugin, visit [ this] ( https://pub.dartlang.org/packages/appsflyer_sdk#-installing-tab- ) page.
6774
75+ ---
76+
6877### <a id =" appsFlyer-options " > ⚙️ AppsFlyerOptions
6978
7079To start using AppsFlyer you first need to create an instance of ` AppsflyerSdk ` before using any other of our sdk functionalities.
@@ -83,6 +92,8 @@ Map appsFlyerOptions = { "afDevKey": afDevKey,
8392AppsflyerSdk appsflyerSdk = AppsflyerSdk(appsFlyerOptions);
8493```
8594
95+ ---
96+
8697### <a id =" init-sdk " > 🚀 Initializing the SDK
8798
8899The next step is to call ` initSdk ` which have the optional boolean parameters
@@ -102,10 +113,77 @@ appsflyerSdk.initSdk(
102113);
103114```
104115
105- ## <a id =" guides " > ** 📖 Guides**
116+ ---
117+
118+ ## <a id =" ios14 " > Set plugin for IOS 14
119+
120+ 1 . Add ` #import <AppTrackingTransparency/AppTrackingTransparency.h> ` in your ` AppDelegate.m `
121+
122+ 2 . Add the ATT pop-up for IDFA collection so your ` AppDelegate.m ` will look like this:
123+ ```
124+ -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
125+ {
126+ self.viewController = [[MainViewController alloc] init];
127+ if (@available(iOS 14, *)) {
128+ [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
129+ //If you want to do something with the pop-up
130+ }];
131+ }
132+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
133+ }
134+ ```
135+
136+ 3 . Add Privacy - Tracking Usage Description inside your ` .plist ` file in Xcode.
137+
138+ 4 . Optional: Set the ` timeToWaitForATTUserAuthorization ` property in the ` AppsFlyerOptions ` to delay the sdk initazliation for a number of ` x seconds ` until the user accept the consent dialog:
139+ ``` dart
140+ AppsFlyerOptions options = AppsFlyerOptions(
141+ afDevKey: DotEnv().env["DEV_KEY"],
142+ appId: DotEnv().env["APP_ID"],
143+ showDebug: true,
144+ timeToWaitForATTUserAuthorization: 30
145+ );
146+ ```
147+
148+ For more info visit our Full Support guide for iOS 14:
149+
150+ https://support.appsflyer.com/hc/en-us/articles/207032066#integration-33-configuring-app-tracking-transparency-att-support
151+
152+ ---
153+
154+ ## <a id =" strictMode " >👨👩👧👦 Strict mode for App-kids
155+
156+ Starting from version ** 6.2.4-nullsafety.5** iOS SDK comes in two variants: ** Strict** mode and ** Regular** mode.
157+
158+ Please read more: https://support.appsflyer.com/hc/en-us/articles/207032066#integration-strict-mode-sdk
159+
160+ *** Change to Strict mode***
161+
162+ After you [ installed] ( #installation ) the AppsFlyer plugin:
163+
164+ 1 . Go to the ` ios ` folder
165+ 2 . Open ` appsflyer_sdk.podspec ` and add ` /Strict ` to the ` s.ios.dependency ` as follow:
166+
167+ ` s.ios.dependency 'AppsFlyerFramework', '6.x.x' ` To >> ` s.ios.dependency 'AppsFlyerFramework/Strict', '6.x.x' `
168+
169+ 3 . Go to ` example/ios ` and Run ` pod install `
170+
171+ *** Change to Regular mode***
172+
173+ 1 . Go to the ` ios ` folder:
174+ 2 . Open ` appsflyer_sdk.podspec ` and remove ` /strict ` :
175+
176+ ` s.ios.dependency 'AppsFlyerFramework/Strict', '6.x.x' ` To >> ` s.ios.dependency 'AppsFlyerFramework', '6.x.x' `
177+
178+ 3 . Go to ` example/ios ` and Run ` pod install `
179+
180+ ---
181+
182+ ## <a id =" guides " > ** 📖 Additional Guides (Deeplinking & more) **
106183
107184Great installation and setup guides can be viewed [ here] ( https://github.com/AppsFlyerSDK/appsflyer-flutter-plugin/blob/master/doc/Guides.md )
108185
186+ ---
109187## <a id =" api " > ** 📑 API**
110188
111189see the full [ API] ( https://github.com/AppsFlyerSDK/appsflyer-flutter-plugin/blob/master/doc/API.md ) available for this plugin.
0 commit comments