Перейти к основному содержимому
Версия: 3.2.0

App Tracking Transparency

Начиная с iOS 14.5, параметр IDFA будет недоступен без использования библиотеки App Tracking Transparency и показа app-tracking authorization запроса конечному пользователю. Если приложение не использует данный запрос, параметр IDFA будет недоступен, что может привести к снижению дохода от показа рекламы.

Для отображения запроса App Tracking Transparency и доступа к параметру IDFA, обновите ваш Info.plist добавив ключ NSUserTrackingUsageDescription со значением. Например:

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

Так же добавьте AppTrackingTransparency.framework в ваш проект.

Если вы используете StackConsentManager библиотеку в вашем проекте, то никаких дополнительных шагов не требуется. Запрос будет показан для пользователей с версией iOS 14.5+ после вызова метода -[STKConsentManager showConsentDialogFromRootViewController:delegate:] (после закрытия окна согласия).

Никаких дополнительных шагов не требуется. Интеграция Consent Manager остается такой же как в секцииGDPR/CCPA.

Т.к. Consent Manager будет показывать ATT запрос только для пользователей с версией iOS 14.5+ вам необходимо будет добавить дополнительную информацию в секцию App Review Information версии вашего приложения в App Store Connect. Например: App Tracking Transparency request is only available for users under iOS 14.5 or higher. Данный шаг необходим, потому что Apple могут отклонить билд приложения, которое содержит AppTrackingTransparency.framework, но не показывает запрос ATT при при его старте.

2. Manually

Если вы используете библиотеку StackConsentManager в вашем проекте, но хотите показывать запрос App Tracking Transparency самостоятельно, вам необходимо отключить АТТ логику в Consent Manager с помощью метода disableAppTrackingTransparencyRequest:

class YourAppDelegate: AppDelegate {
override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool {
STKConsentManager.shared().disableAppTrackingTransparencyRequest()
STKConsentManager.shared().synchronize(withAppKey: "Your app key") { error in
guard let error = error else { return }
print("Error occurred during synchronization: \(error)")
}
return true
}
}

Вызовите метод requestTrackingAuthorizationWithCompletionHandler: для отображения запроса App Tracking Transparency. Мы рекомендуем инициализировать Appodeal SDK в замыкании данного метода. Вызов может происходить в методе жизненного цикла вашего приложения:

import AppTrackingTransparency
import AdSupport

class AppDelegate : UIApplicationDelegate {

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
ATTrackingManager.requestTrackingAuthorization() { status in
// Tracking authorization completed. Initialise Appodeal here.
}
return true
}
}