iOS 14 Advertising Support -> ATT prompt not showing

Hello!

So I’ve implemented iOS ATT into my ad supported game, using Unity’s iOS 14 Advertising Support package and it doesn’t appear to be working.

In all fairness, I skipped using the Unity prefabs and rolled the core calls into my own privacy manager.

Firstly the current status is determined using the following call…

AuthorizationTrackingStatus status = ATTrackingStatusBinding.GetAuthorizationTrackingStatus();

If the iOS version is 14.0 (and later) and the status is NOT_DETERMINED then the following call is made to invoke the consent prompt…

ATTrackingStatusBinding.RequestAuthorizationTracking(AdvertisingPrivacyConsentResponse);

The callback is then used to set the relevant privacy setting…

private void AdvertisingPrivacyConsentResponse(int status)
{
  if ((AuthorizationTrackingStatus)status == AuthorizationTrackingStatus.AUTHORIZED)
    // Set Personalised advertising setting...
  else
    // Set Contextual advertising setting...
}

Initially this was tested with ATT disabled (iOS Settings → Privacy → Tracking) and the status returned was NOT_DETERMINED, which was surprising as I would have expected DENIED. But no prompt was shown and the response status was also NOT_DETERMINED, so it appeared to work as expected.

I then enabled tracking and tried again, but am seeing the same behaviour. The current status is NOT_DETERMINED and whilst the callback is called, no prompt it shown and the response status is still NOT_DETERMINED

I’ve been through the Unity example and don’t appear to be missing anything else, so would be very grateful if someone can throw some light on this please.

Unity Ver: 2020.3.35f1
Package Ver: 1.2
iOS Ver: 14.8

Update: Fixed!

I missed the vital step of setting the NSUserTrackingUsageDescription field in plist.info

Without it, iOS will always return a status of NOT_DETERMINED

So I added a Unity Cloud Build Post Export script (based loosely on the Unity example)…

https://docs.unity.com/ads/ATTCompliance.html#Configuring_a_user_tracking_description

And now the prompt is showing.

3 Likes