|
12 | 12 | - [Unified deep linking](#Unified-deep-linking) |
13 | 13 | - [iOS Deeplink Setup](#iosdeeplinks) |
14 | 14 | - [Android Deeplink Setup](#android-deeplinks) |
| 15 | +- [Set plugin for IOS 14](#ios14) |
| 16 | +- [Setting strict mode (app for kids)](#strictMode) |
15 | 17 |
|
16 | | - --- |
| 18 | +--- |
17 | 19 |
|
18 | 20 | ## <a id="init-sdk"> Init SDK |
19 | 21 |
|
@@ -285,3 +287,70 @@ Essentially, the Universal Links method links between an iOS mobile app and an a |
285 | 287 | ``` |
286 | 288 |
|
287 | 289 | For more on Universal Links check out the guide [here](https://support.appsflyer.com/hc/en-us/articles/208874366-OneLink-Deep-Linking-Guide#setups-universal-links). |
| 290 | + |
| 291 | + |
| 292 | +## <a id="ios14"> Set plugin for IOS 14 |
| 293 | + |
| 294 | +1. Add `#import <AppTrackingTransparency/AppTrackingTransparency.h>` in your `AppDelegate.m` |
| 295 | + |
| 296 | +2. Add the ATT pop-up for IDFA collection so your `AppDelegate.m` will look like this: |
| 297 | +``` |
| 298 | +-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions |
| 299 | +{ |
| 300 | + [GeneratedPluginRegistrant registerWithRegistry:self]; |
| 301 | + if (@available(iOS 14, *)) { |
| 302 | + [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { |
| 303 | + //If you want to do something with the pop-up |
| 304 | + }]; |
| 305 | + } |
| 306 | + return [super application:application didFinishLaunchingWithOptions:launchOptions]; |
| 307 | +} |
| 308 | +``` |
| 309 | +
|
| 310 | +3. Add Privacy - Tracking Usage Description inside your `.plist` file in Xcode. |
| 311 | +
|
| 312 | +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: |
| 313 | +```dart |
| 314 | +AppsFlyerOptions options = AppsFlyerOptions( |
| 315 | + afDevKey: DotEnv().env["DEV_KEY"], |
| 316 | + appId: DotEnv().env["APP_ID"], |
| 317 | + showDebug: true, |
| 318 | + timeToWaitForATTUserAuthorization: 30 |
| 319 | + ); |
| 320 | +``` |
| 321 | + |
| 322 | +For more info visit our Full Support guide for iOS 14: |
| 323 | + |
| 324 | +https://support.appsflyer.com/hc/en-us/articles/207032066#integration-33-configuring-app-tracking-transparency-att-support |
| 325 | + |
| 326 | +--- |
| 327 | + |
| 328 | +## <a id="strictMode">👨👩👧👦 Strict mode for App-kids |
| 329 | + |
| 330 | +Starting from version **6.2.4-nullsafety.5** iOS SDK comes in two variants: **Strict** mode and **Regular** mode. |
| 331 | + |
| 332 | +Please read more: https://support.appsflyer.com/hc/en-us/articles/207032066#integration-strict-mode-sdk |
| 333 | + |
| 334 | +***Change to Strict mode*** |
| 335 | + |
| 336 | +After you [installed](#installation) the AppsFlyer plugin: |
| 337 | + |
| 338 | +1. Go to the `$HOME/.pub-cache/hosted/pub.dartlang.org/appsflyer_sdk-<CURRENT VERSION>/ios` folder |
| 339 | +2. Open `appsflyer_sdk.podspec`, add `/Strict` to the `s.ios.dependency` as follow: |
| 340 | + |
| 341 | +`s.ios.dependency 'AppsFlyerFramework', '6.x.x'` To >> `s.ios.dependency 'AppsFlyerFramework/Strict', '6.x.x'` |
| 342 | +and save |
| 343 | + |
| 344 | +3. Go to `ios` folder of your current project and Run `pod update` |
| 345 | + |
| 346 | +***Change to Regular mode*** |
| 347 | + |
| 348 | +1. Go to the `$HOME/.pub-cache/hosted/pub.dartlang.org/appsflyer_sdk-<CURRENT VERSION>/ios` folder: |
| 349 | +2. Open `appsflyer_sdk.podspec` and remove `/strict`: |
| 350 | + |
| 351 | +`s.ios.dependency 'AppsFlyerFramework/Strict', '6.x.x'` To >> `s.ios.dependency 'AppsFlyerFramework', '6.x.x'` |
| 352 | +and save |
| 353 | + |
| 354 | +3. Go to `ios` folder of your current project and Run `pod update` |
| 355 | + |
| 356 | +--- |
0 commit comments