Prepare tvOS versions

  • Prepare your tvOS app for upcoming changes by updating to Interactive Media Ads SDK 4.3.2 or higher and requesting App Tracking Transparency authorization for IDFA access.

  • Implement the App Tracking Transparency authorization request in your app's Info.plist and code, potentially including an explainer for a better user experience.

  • Consider leveraging Publisher first-party ID (formerly known as same app key) to enhance ad relevance and personalization, and it's enabled by default in IMA SDK for iOS 3.14.5 or higher.

  • Ensure your app complies with Apple's data usage disclosure requirements for the App Store by December 8, 2020, for new apps and app updates.

This guide outlines the changes needed to prepare your app for tvOS 14.

Prerequisites

  • Interactive Media Ads SDK 4.3.2 or higher.

Request App Tracking Transparency authorization

To display the App Tracking Transparency authorization request for accessing the IDFA, update your Info.plist to add the NSUserTrackingUsageDescription key with a custom message describing your usage. Here is an example description text:

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

The usage description appears in the App Tracking Transparency dialog box:

To present the authorization request, call requestTrackingAuthorizationWithCompletionHandler:. We recommend waiting for the completion callback prior to loading ads so that if the user grants the App Tracking Transparency permission, the Interactive Media Ads SDK can use the IDFA in ad requests.

Swift

import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
  ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
  })
}

Objective-C

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
...
- (void)requestIDFA {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Tracking authorization completed. Start loading ads here.
    // [self loadAd];
  }];
}

For more information about the possible status values, see ATTrackingManager.AuthorizationStatus.

Publisher first-party ID, formerly known as same app key

Prerequisites: IMA SDK for iOS 3.14.5 or higher

The Interactive Media Ads SDK for iOS introduced Publisher first-party ID, formerly known as same app key to help you deliver more relevant and personalized ads by using data collected from your apps.

Publisher first-party ID is enabled by default, but you can always choose to disable it in your app by setting IMASettings::SameAppKeyEnabled to false:

Swift

let settings = IMASettings()
// Disables Publisher first-party ID, formerly known as same app key.
settings.SameAppKeyEnabled = false
adsLoader = IMAAdsLoader(settings: settings)

Objective-C

IMASettings *settings = [[IMASettings alloc] init];
// Disables Publisher first-party ID, formerly known as same app key.
settings.SameAppKeyEnabled = false;
IMAAdsLoader *adsLoader = [[IMAAdsLoader alloc] initWithSettings:settings];

Disclose data usage in the App Store

Apple requires that developers publishing apps on the App Store disclose certain information regarding their apps' data use. Apple has announced that these disclosures will be required for new apps and app updates starting December 8, 2020.

Learn more about the data disclosure requirements.