DCR Video iOS14 Migration

From Engineering Client Portal

Revision as of 18:39, 22 September 2023 by NickParrucci (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Engineering Portal / Digital / US DCR & DTVR / DCR Video iOS14 Migration


Overview

NOTE: this page is for historical reference. In addition to dealing with App Tracking Transparency, developers should also be aware of changes related to iOS 17 detailed here: Nielsen_Digital_Measurement_and_iOS17_or_TVOS17

Apple recently released a new policy on consent requirements for its mobile advertising tool, Identifier for Advertisers (IDFA). With this new policy, (App Tracking Setting) users can choose whether an IDFA may be used by mobile applications. iOS 14 was released on Sept 16th.

What does this mean for measurement?

Apple added a new Framework called “The App Tracking Transparency Framework”. This is now required to control whether the Ad Framework will return the IDFA. If our app requests the IDFA, but advertisingTrackingEnabled=No, then we will get: IDFA = 00000000 -0000-0000-0000-000000000000. If a client is using our APP SDK v7 and below, running on a device with iOS14 installed, as this is a new framework, our SDK will never be able to retrieve the IDFA.

Version 8 of our App SDK will come in two versions. One that is enabled to work with the App Tracking Transparency Framework, and another version that does not use the Ad Framework. A Table outlining the various iOS versions and Nielsen AppSDK versions is located later in this document.

Transparency Framework

Apple was going to force all publishers to check if ATTrackingManager. AuthorizationStatus was equal to authorized. Now however, since they are not forcing publishers to ask the user, as long as the ATTrackingManager.AuthorizationStatus is equal to undefined, or authorized, you are allowed to grab the IDFA value. The change they made was to allow us to use undefined as a valid state. 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.

SDK Versions and Behavior

OS SDK Flavor/Version LAT/Tracking Opt-out Status Opt-out URL Integration Changes
iOS/tvOS 13 and below Appsdk < 7.2 LAT works fine As per LAT LAT URL No Changes
iOS/tvOS 13 and below Appsdk without ad framework < 7.2 NA (Not Applicable) User choice opt-out/in User choice opt-out/in url No Changes
iOS/tvOS 13 and below AppSDK 8.0 LAT works fine As per LAT LAT URL No Changes
iOS/tvOS 13 or 14 Appsdk 8.0 without Ad Framework NA (Not Applicable) User choice opt-out/in User choice opt-out/in url No Changes
iOS/tvOS 14 Appsdk < 7.2 No support for new Apple tracking API Opt-out will be marked as true LAT URL Yes, Clients to upgrade to SDK 8.0
iOS/tvOS 14 AppSDK 8.0 Client has implemented the Consent pop-up. As per LAT LAT URL Yes, Clients to implement pop-up and app store verbiage
iOS/tvOS 14.0 - 14.4
APPLE is not enforcing App Transparency Layer (pop-up)
AppSDK 8.0 Apple not mandating consent pop-up. As per LAT LAT URL
iOS/tvOS 14.5+
APPLE is enforcing App Transparency Layer (pop-up)
AppSDK 8.0 Client has not implemented the consent pop-up. As per LAT LAT URL Yes, Clients to implement pop-up and app store verbiage
iOS/tvOS 14 Appsdk 8.0 without Ad Framework Clients denied the Ad Framework SDK User choice opt-out/in User choice opt-out/in url Yes, Clients implement webview to pass user choice to the sdk. No changes for AGF no ad framework clients.

Privacy and Opt-Out

OS-level Opt-out

The Nielsen SDK automatically leverages the iOS's Limit Ad Tracking or AppTracking setting.

  • If the User's device is running < iOS 13.x, the Nielsen SDK will check the status of Limit Ad Tracking (Located under Privacy >> Advertising). If this is enabled, the user will be opted out of demographic measurement.
  • iOS14 modifies the way Apple manages the collection of a User's Opt-In status through AppTracking. Starting with Version 8.x+, the Nielsen App SDK will check the iOS version during initialization. If the device is running iOS12 or iOS13, the Limit Ad Tracking setting is requested. If iOS14.x +, then AppTracking is utilized.

If using the Nielsen SDK V7 on a device running iOS14, the value returned will always be isAdvertisingTrackingEnabled = true opting out the user from demographic measurement. Apple started requiring publishers to secure consent from the user in iOS14.5+. This means the AppTracking Setting must equal approved before the User is Opted in.

  • Limit Ad Tracking is managed using the isAdvertisingTrackingEnabled value.
Value Returned in iOS12 / iOS13 using Nielsen SDK < V7.x Opt in/out Status
isAdvertisingTrackingEnabled = false User will be included in demographic measurement.
isAdvertisingTrackingEnabled = true User will NOT be included in demographic measurement.
Value Returned is iOS14 using Nielsen SDK > V8.x Opt in/out Status
ATTrackingManager.AuthorizationStatus.authorized User will be included in demographic measurement.
ATTrackingManager.AuthorizationStatus.notDeterminded
ATTrackingManager.AuthorizationStatus.denied
ATTrackingManager.AuthorizationStatus.restricted
User will NOT be included in demographic measurement.

The user is opted out of demographic measurement if the OS-level Limit Ad Tracking setting is enabled, or AppTracking value equals denied or restricted. As a publisher, you cannot override this setting.

User Choice

The User Choice method can be used without the Ad Framework, or in situations where the publisher does not wish to use the App Tracking Transparency Framework.