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 в ваш проект.
Stack Consent Manager
Appodeal SDK автоматически интегрирует App Tracking Transparency. Запрос App Tracking Transparency будет показан при первом запуске приложения посредством библиотеки Stack Consent Manager. Вам необходимо добавить соответсвующее сообщение в AdMob аккаунте. Более детальная информация по настройке сообщений указана в секции Google CMP и Поддержка TCF v2.
Никаких дополнительных шагов не требуется. Интеграция 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 при при его старте.
Manually
Вызовите метод requestTrackingAuthorizationWithCompletionHandler:
для
отображения запроса App Tracking Transparency. Мы рекомендуем
инициализировать Appodeal SDK в замыкании данного метода. Вызов может
происходить в методе жизненного цикла вашего приложения:
- Swift
- Objective-C
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
}
}
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// Tracking authorization completed. Initialise Appodeal here.
}];
return YES;
}