DCR and DTVR with iOS17 or TVOS17: Difference between revisions
From Engineering Client Portal
NickParrucci (talk | contribs) (Created page with "{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{CurrentBreadcrumb}} Category:Digital __NOTOC__ == Overview == Summary: The latest version of Nielsen...") |
NickParrucci (talk | contribs) |
||
Line 84: | Line 84: | ||
| no | | no | ||
| All pings allowed, blank DeviceID | | All pings allowed, blank DeviceID | ||
|- | |- | ||
| 15 | | 15 |
Revision as of 12:11, 29 September 2023
Overview
Summary: The latest version of Nielsen iOS/TVOS AppSDK (currently 9.2.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.2) 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 imrworldwide.com 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 non-tracking domain nmrodam.com. 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.2.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.2.0.0 (release date: September, 27 2023) 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.2.0.0 build with no 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.
SDK Versions and Behavior
NOTE: only AppSDK with ad support is included below, since other flavors are not concerned with IDFA/DeviceID
Client app Xcode version | iOS/TVOS Version | AppSDK Version | ATT Status | Opt-out Status | Tracking declared in privacy manifest (SDK or app level) | Tracking Domain provided in privacy manifest (SDK or app level) | Ping/Message Behavior |
---|---|---|---|---|---|---|---|
14 | any | any | "Allow Tracking" | false | n/a | n/a | All pings allowed, with DeviceID |
14 | any | any | "Ask App Not to Track" | true | n/a | n/a | All pings allowed, blank DeviceID |
15 | 16.x and below | any | "Allow Tracking" | false | no | no | All pings allowed, with DeviceID |
15 | 16.x and below | any | "Ask App Not to Track" | true | no | no | All pings allowed, blank DeviceID |
15 | 17 or greater | 9.1.x.x and below | "Ask App Not to Track" | true | no | no | All pings allowed, blank DeviceID |
15 | 17 or greater | 9.1.x.x and below | "Allow Tracking" | false | no | no | All pings allowed, with DeviceID |
15 | 17 or greater | 9.2.0.0 and below | "Ask App Not to Track" | true | yes (App level) | yes - imrworldwide.com | All pings allowed, blank DeviceID, SDK pings will use non-tracking domain nmrodram.com |
15 | 17 or greater | 9.2.0.0 and greater | "Allow Tracking" | false | yes - (SDK level) | yes - imrworldwide.com | All pings allowed, with DeviceID |
15 | 17 or greater | 9.2.0.0 and greater | "Ask App Not to Track" | true | yes - (SDK level) | yes - imrworldwide.com | All pings allowed, blank DeviceID, SDK pings will use non-tracking domain nmrodram.com, all the app traffic from non-sdk integrations going to tracking domain imrworldwide.com, will be blocked |