DCR and DTVR with iOS17 or TVOS17

From Engineering Client Portal

Revision as of 04:31, 9 July 2024 by AnkitAgrawal (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Engineering Portal / Digital / DCR & DTVR / DCR and DTVR with iOS17 or TVOS17


Overview

Summary: The latest version of Nielsen iOS/TVOS AppSDK (currently 9.4.0.0) has the below-mentioned privacy manifest entries and app tracking/opt-out behavior already included. App developers integrating the SDK will automatically have the required entries added to their app's privacy manifest when compiled with Xcode 15 or greater. Nielsen Client Developers do not need to make any additional changes to privacy manifest files at the application level to handle Nielsen tracking behavior.

Beginning with iOS/TVOS 17, Apple is adding several requirements for App developers around tracking, use of Identifier For Advertisers (IDFA), and certain system APIs as detailed below:

App Privacy Manifest

  • App privacy manifest files must be updated before submitting apps to the App Store.
    • Declare collection/use of user tracking information - app developers/third-party SDKs will be required to list domains that are used to send messages containing the user's device ID (IDFA).
    • Required Reason API - Apple is requiring reasons for apps' usage of certain system APIs that retrieve information about the device or state of some system metrics.

App Tracking Transparency (ATT) Framework

When users select "Ask App Not to Track" from the ATT popup, the operating system will behave differently from previous iOS/tvOS versions:

  • In iOS/tvOS versions lower than 17, when "Ask App Not to Track" was selected, apps were blocked from reading the device's IDFA and measurement would be transmitted with a blank device ID.
  • With iOS/tvOS 17, if the user selects "Ask App Not to Track", third-party SDKs will not only be blocked from reading the IDFA, the entire app will also be blocked from sending http(s) traffic to domains declared as "tracking domains" in the SDK's privacy manifest file. This will prevent typical measurement pings from going out and will impact volumetric measurement for your apps.


A new release of the AppSDK (v9.4) aims to address this requirement through explicit distinction of tracking versus non-tracking traffic through the use of 2 domains as described below:

  • When a user has opted in (Allow Tracking), measurement data pings will continue to be sent to the vtwenty.com (tracking) domain with the available IDFA.
  • When a user has opted out (Ask App Not to Track) or with an unknown status, all the measurement data pings will be sent to the nmrodam.com (non-tracking) domain. These pings will not contain any IDFA tracking.

NOTE: the domain-changing above refers only Nielsen AppSDK with ad framework support. Non-ad framework flavors of AppSDK are not affected.


IMPORTANT NOTE: Nielsen iOS/TVOS SDK has the privacy manifest entries and app tracking/opt-out behavior already included. App developers integrating the SDK will automatically have the required entries added to their app's privacy manifest when compiled with Xcode 15 or greater. Nielsen Client Developers do not need to make any additional changes to privacy manifest files at the application level to handle Nielsen tracking behavior. This functionality is included in Nielsen AppSDK version 9.4.0.0 or greater. With the release of iOS/TVOS 17 in September 2023, Nielsen clients are strongly encouraged to update to AppSDK version 9.4.0.0 (release date: July, 9 2024) or greater as soon as possible to avoid disruption in measurement.

Apple is not currently mandating that SDK developers declare a tracking domain in the SDK-level privacy manifest file, and if one is provided, all traffic from all Nielsen integrations in the app will be blocked for opted-out users. To mitigate this situation, the Nielsen technical team has decided to create 2 versions of the iOS/tvOS AppSDK: one with no tracking domain declared (default) and one with it declared.

The AppSDK 9.4.0.0 build with tracking domain declared will be made available through Nielsen artifactory and/or direct download from Nielsen Engineering Portal. Current integrations using Nielsen artifactory distribution will receive notice to update to this version through CocoaPods/Carthage/SPM distributions automatically.

If you have any questions about the AppSDK version that has the tracking domain declared, please reach out to your Nielsen Client Engineer.