App Tracking Transparency

Starting in iOS 14, IDFA will be unavailable until an app calls the App Tracking Transparency framework to present the app-tracking authorization request to the end-user. If an app does not present this request, the IDFA will automatically be zeroed out which may lead to a significant loss in ad revenue. 

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 the usage. 

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

And AppTrackingTransparency.framework to your project.

Appodeal Unity Plugin are automatically added NSUserTrackingUsageDescription key and AppTrackingTransparency.framework.

1. Stack Consent Manager

If you are using StackConsentManager framework in your project there are no additional steps required. Authorization request will be shown for users under iOS 14.5 and higher after -[STKConsentManager showConsentDialogFromRootViewController:delegate:] method invokes. 

There are not additional steps needed. Consent Manager integration remains the same as GDPR/CCPA section.

Because of Consent Manager will show ATT request only for users under iOS 14.5 or higher you might be to add some notes in App Review Information section of app version page in App Store Connect. For example it can be something like: App Tracking Transparency request is only available for users under iOS 14.5 or higher. This step can be needed because Apple can reject builds that contains AppTrackingTransparency.framework but which ATT requests are not showing at app launch.

2. Manually

Disable ATT request via Appodeal Unity Consent Manger: 

ConsentManager consentManager = ConsentManager.getInstance();
consentManager.requestConsentInfoUpdate(appKey, this);

// Prevent consent manager to ask app tracking transparency permissions

Download Unity App Tracking Transparency Plugin

Import Unity App Tracking Transparency Plugin to your project.

Extend your class with IAppodealAppTrackingTransparencyListener:

YourClassName : IAppodealAppTrackingTransparencyListener

Call AppodealAppTrackingTransparency.RequestTrackingAuthorization(this);  to present the App Tracking Transparency authorization request alert. Call this method at the application launch event.


Now you can use the following callback methods within your  public class :

public void AppodealAppTrackingTransparencyListenerNotDetermined(){ Debug.Log("AppodealAppTrackingTransparencyListenerNotDetermined"); }
public void AppodealAppTrackingTransparencyListenerRestricted(){ Debug.Log("AppodealAppTrackingTransparencyListenerRestricted"); }
public void AppodealAppTrackingTransparencyListenerDenied() { Debug.Log("AppodealAppTrackingTransparencyListenerDenied"); }
public void AppodealAppTrackingTransparencyListenerAuthorized() { Debug.Log("AppodealAppTrackingTransparencyListenerAuthorized"); }