iOS SDK Release Notes: Difference between revisions

From Engineering Client Portal

(title)
 
(31 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}
[[Category:Digital]]
[[Category:Digital]]
__NOTOC__


== Release 6.0.0.1 (12-14-2017) ==
{{Breadcrumb|}} {{Breadcrumb|Digital Downloads}} {{CurrentBreadcrumb}}
=== All Products ===
The below updates apply to all products. They do not require code changes. Please check your product's implementation guide for detailed instructions on how to implement best measurement of your product.
*'''Appname Removal:''' Client will no longer need to pass Appname as part of SDK initialization because SDK will be retrieving the name from the application Info.plist file for iOS. Even if client continues to pass the Appname, SDK will ignore it.
*'''Default Privacy Url:''' Return default US privacy url instead of “nil” or blank string for userOptOutURLString.
*'''Event Data Reporting:''' Sending event data in milliseconds compared to seconds for more granular reporting.
*'''Minor Playhead Error:''' SDK will no longer send view ping if the first playhead position is 0 and if the playhead position is not incrementing. SDK will check if the playhead position will increment from 0 and then only send the view ping.


=== Changes Affecting DCR and DTVR (not Digital Audio) ===
== Release 9.4.0.0 (07-09-2024) ==
Affected content types are DCR and DTVR.
*Support for privacy manifest with content tracking domain for Ad flavors.
*Support for content tracking and no-tracking domains across sdk flavors and products.
*Other bug fixes and enhancements.
== Release 9.3.0.0 (05-10-2024) ==
*Support for privacy manifest with tracking domain for Ad flavors.
*Support for capturing user opt-out during initialization.
*Other bug fixes and enhancements.
== Release 9.2.0.0 (09-27-2023) ==
*Support for privacy manifest and required reason API introduced in XCode 15.
*Digitally signed SDK framework per Apple recommendation
*DCR Static recognizing metadata with changed assetID for new impressions.
*Limiting ping retries during https failures.
*Other bug fixes and enhancements.  


*'''Viewability:''' Viewability is as an online tracking mechanism introduced in Nielsen SDK for representing the visibility of a video in the player along a playback that are actually viewed by the customers.
== Release 9.1.0.0 (03-31-2023) ==
*'''Simplified SDK API:''' This will allow clients to have a simple interface to pass metadata to the sdk and reduce the number of api calls. This feature will currently be available for AppSDK only. New API (trackEvent) is introduced to simplify SDK integration for clients. New API will be implemented as a wrapper for the existing SDK API. Clients will be able to use either new or old SDK API.
*DCR Static duration measurement for AppSDK (currently only AGF).
*'''Bug Fix For DTVR:''' Fix for DTVR short ping having at parameter as “timer” instead of “sfview” during channel change scenario.  iOS fix for 1 trans ping per ID3 tag.
*Removed use of iOS keychains, started using NSUserDefaults for persistent storage.
*'''Stop Event Requirement Change:''' ST event will be reported at the end of the content, on End API call regardless of playhead position and channel change.
*Viewability: allow enabling by product (DCR, DTVR).
*'''Session Id Change:''' Updated the Session id format to align the AppSDK with the DAR/Browser SDK logic which generates 39 chars sessionid/uaid.
*Other bug fixes and enhancements.


== Release 5.1.1.29 ==
== Release 9.0.0.0 (10-07-2022) ==
* Viewability measurement for DTVR, DCR Content and DCR Ad products.
* Audibility measurement for DTVR, DCR Content and DCR Ad products.
* SDK built with XCode 14.
* Other bug fixes and enhancements.
 
== Release 8.2.0.0 (03-21-2022) ==
* Adopting Swift language internally, built on a mixed model (Swift+Objective C).
* Support for Swift markers to help Swift developers.
* Removed the usage of deprecated iOS network reachability class.
* Disabled iCloud backup/synchronization of SDK keychain items.
* Other bug fixes and enhancements.
 
== Release 8.1.0.0 (06-28-2021) ==
* Support for XCFramework build distribution.
* Support for MacOS Catalyst platform framework.
* Fixed the device classification for MacOS M1 measurement.
* Support to capture Hashed email and UID.
* Support to collect SDK diagnostic data.
* Other bug fixes and enhancements.
 
== Release 8.0.0.0 (10-05-2020) ==
* iOS 14 App Transparency Framework support.
* FPID and VendorID support.
* Fixed the device classification for iPADOS measurement.
* Support for Xamarin cross platform framework.
* Other bug fixes and enhancements.
 
== Release 7.2.0.0 (05-18-2020) ==
* DTVR AQH and IVD requirements for End and pause timeout.
* Support for Hybrid app webview measurement.
* Support for Hybrid app react native webview measurement.
* Support for React Native measurement.
* Other bug fixes and enhancements
 
== Release 7.1.0.0 (12-09-2019) ==
* Removed usage of deprecated class UIWebView
* Offline viewing measurement enhancements
* Fixed deadlock on SDK shutdown
* Revisited precedence logic for sfcode parameter
* Fix for DCR individual ad pings parameters after channel change
* Using default value for incorrect adModel parameter
* Defaulting isLive parameter value on channel change
* Other fixes and enhancements.
 
== Release 7.0.0.0 (09-06-2019) ==
* Support for CDN based config.
* Support for Market based EMM UAID pings.
* Changes required for proper DCR Static measurement in multi-instance/multiple appid's case.
* Fixes for OTT synchronization issues between iOS and Android platforms.
* Fixes for EV data parameters in few scenarios.
* Fixes for DCR Static product behaviour in background app refresh and background fetch scenarios.
* DCR Ad reporting improvements.
* Fixes and improvements for the SDK console log messages.
* Other enhancements and fixes.
 
== Release 6.2.0.0 (02-04-2019) ==
* Introduced Dynamic framework for SDK.
* Removal of Location Module from SDK Code.
* Increased SDK log file size for Debug mode.
* Removed OTT Airplay/mirroring detection that caused crashes in AVAudioSession class.
* DCR performance improvements.
* Fixed the parsing error happening when clientid/vcid provided as empty in metadata.
* Align AppSDK for FW detection with BSDK for DCR measurement.
* Other Bug Fixes/Enhancements.
 
== Release 6.1.0.1 (9-13-2018) ==
*Support added for Video On Demand in TV Ratings
*Support for Xcode 10 and iOS 12
 
== Release 6.0.0.4 (5-24-2018) ==
*If the SDK build target is set to AGF then SDK will send the hello ping to “eu” and “eu-uat” for debug builds. No changes to the non AGF build the default sfcode will continue to be "sdk" and "cert" for debug build.
*The C1 parameter (NUID) will now be sent as encrypted DeviceID.
*New SessionID changes. The sessionID will contain 29 length random characters appended by timestamp.
*Support for multiple SDK instance without any limit.
*New log feature for CAT tool to retrieve the API level information from client apps. This ping will contain the eventType, parameters, SDK version, appid etc.
*Removed Viewability for this release.
 
== Release 5.1.1.29 (7-31-2017) ==
*Genre parameter will be a part of DCR pings and the value will be reflected as part of c44 parameter.
*Genre parameter will be a part of DCR pings and the value will be reflected as part of c44 parameter.
*Merged adModel and adLoadType flags
*Merged adModel and adLoadType flags
*Fix for stop event data carried to next session’s duration ping
*Fix for stop event data carried to next session’s duration ping


== Release 5.1.1.25 ==
== Release 5.1.1.25 (5-31-2017) ==
*Enhanced support for Digital Audio
*Enhanced support for Digital Audio
*Ability to pass adloadtype as “linear” or “dynamic”
*Ability to pass adloadtype as “linear” or “dynamic”
Line 36: Line 120:
*Fix for App crash when multiple threads are accessing the SQLite
*Fix for App crash when multiple threads are accessing the SQLite


== Release 5.1.1.23 ==
== Release 5.1.1.23 (5-5-2017) ==
*Ability to pass adloadtype as “linear” or “dynamic”
*Ability to pass adloadtype as “linear” or “dynamic”
*Ability to detect end of content and static material through duration pings
*Ability to detect end of content and static material through duration pings
Line 47: Line 131:
*Fix for App crash when multiple threads are accessing the SQLite
*Fix for App crash when multiple threads are accessing the SQLite


== Release 5.1.1.19 ==
== Release 5.1.1.19 (4-3-2017) ==
*Fix for muting background music apps
*Fix for muting background music apps


== Release 5.1.1.18 ==
== Release 5.1.1.18 (2-3-2017) ==
*Minor bug fixes and performance improvement
*Minor bug fixes and performance improvement


== Release 5.1.1.17 ==
== Release 5.1.1.17 (1-23-2017) ==
*Added “seconds” place to the launch ping
*Added “seconds” place to the launch ping
*Ability to opt-out using “Limit Ad Tracking” feature
*Ability to opt-out using “Limit Ad Tracking” feature
Line 59: Line 143:
*Opt-Out pages can be served based on user’s language and locale from device
*Opt-Out pages can be served based on user’s language and locale from device


== Release 5.1.1.12 ==
== Release 5.1.1.12 (12-14-2016) ==
*Support for Nielsen TV Brand Effect
*Support for Nielsen TV Brand Effect
*Ability to set CMS parameters at a more global level
*Ability to set CMS parameters at a more global level
Line 69: Line 153:
*Limit the duration reported for App launch
*Limit the duration reported for App launch


== Release 5.1.1.9 ==
== Release 5.1.1.9 (10-18-2016) ==
*Fixed Linker error duplicate symbols for Reachability notification in iOS.
*Fixed Linker error duplicate symbols for Reachability notification in iOS.


== Release 5.1.1.7 ==
== Release 5.1.1.7 (9-13-2016) ==
*Support for iOS 10
*Support for iOS 10
*Usage of stop API call is made optional when switching between content or advertising occurs.
*Usage of stop API call is made optional when switching between content or advertising occurs.
*General bug fix and performance improvements
*General bug fix and performance improvements


== Release 5.1.1.5 ==
== Release 5.1.1.5 (7-12-2016) ==
*Sending event level (button press data) data to census collections.
*Sending event level (button press data) data to census collections.
*Support for Pause timeout (from 30 minutes to 5 minutes)
*Support for Pause timeout (from 30 minutes to 5 minutes)
Line 84: Line 168:
*General bug fix and performance improvements
*General bug fix and performance improvements


== Release 5.1.0.5 ==
== Release 5.1.0.5 (4-25-2016) ==
*Combined SDK for DCR US and International (Germany)
*Combined SDK for DCR US and International (Germany)
*API to signal end of content (end API)
*API to signal end of content (end API)
Line 99: Line 183:
*Introduced new API updateOTT to report current OTT status.
*Introduced new API updateOTT to report current OTT status.


== Release 4.0.0.8 ==
== Release 4.0.0.8 (6-9-2015) ==
*Support for Nielsen DCR product (Digital Content Ratings)
*Support for Nielsen DCR product (Digital Content Ratings)
**All the products should be migrated to the latest SDK.
**All the products should be migrated to the latest SDK.
Line 109: Line 193:
*Support for iOS 9 and iOS 9 PIP mode
*Support for iOS 9 and iOS 9 PIP mode
*General bug fix and performance improvements
*General bug fix and performance improvements
== Release 3.2.1.26 (1-10-2015) ==

Latest revision as of 04:12, 9 July 2024


Engineering Portal / Digital Downloads / iOS SDK Release Notes

Release 9.4.0.0 (07-09-2024)

  • Support for privacy manifest with content tracking domain for Ad flavors.
  • Support for content tracking and no-tracking domains across sdk flavors and products.
  • Other bug fixes and enhancements.

Release 9.3.0.0 (05-10-2024)

  • Support for privacy manifest with tracking domain for Ad flavors.
  • Support for capturing user opt-out during initialization.
  • Other bug fixes and enhancements.

Release 9.2.0.0 (09-27-2023)

  • Support for privacy manifest and required reason API introduced in XCode 15.
  • Digitally signed SDK framework per Apple recommendation
  • DCR Static recognizing metadata with changed assetID for new impressions.
  • Limiting ping retries during https failures.
  • Other bug fixes and enhancements.

Release 9.1.0.0 (03-31-2023)

  • DCR Static duration measurement for AppSDK (currently only AGF).
  • Removed use of iOS keychains, started using NSUserDefaults for persistent storage.
  • Viewability: allow enabling by product (DCR, DTVR).
  • Other bug fixes and enhancements.

Release 9.0.0.0 (10-07-2022)

  • Viewability measurement for DTVR, DCR Content and DCR Ad products.
  • Audibility measurement for DTVR, DCR Content and DCR Ad products.
  • SDK built with XCode 14.
  • Other bug fixes and enhancements.

Release 8.2.0.0 (03-21-2022)

  • Adopting Swift language internally, built on a mixed model (Swift+Objective C).
  • Support for Swift markers to help Swift developers.
  • Removed the usage of deprecated iOS network reachability class.
  • Disabled iCloud backup/synchronization of SDK keychain items.
  • Other bug fixes and enhancements.

Release 8.1.0.0 (06-28-2021)

  • Support for XCFramework build distribution.
  • Support for MacOS Catalyst platform framework.
  • Fixed the device classification for MacOS M1 measurement.
  • Support to capture Hashed email and UID.
  • Support to collect SDK diagnostic data.
  • Other bug fixes and enhancements.

Release 8.0.0.0 (10-05-2020)

  • iOS 14 App Transparency Framework support.
  • FPID and VendorID support.
  • Fixed the device classification for iPADOS measurement.
  • Support for Xamarin cross platform framework.
  • Other bug fixes and enhancements.

Release 7.2.0.0 (05-18-2020)

  • DTVR AQH and IVD requirements for End and pause timeout.
  • Support for Hybrid app webview measurement.
  • Support for Hybrid app react native webview measurement.
  • Support for React Native measurement.
  • Other bug fixes and enhancements

Release 7.1.0.0 (12-09-2019)

  • Removed usage of deprecated class UIWebView
  • Offline viewing measurement enhancements
  • Fixed deadlock on SDK shutdown
  • Revisited precedence logic for sfcode parameter
  • Fix for DCR individual ad pings parameters after channel change
  • Using default value for incorrect adModel parameter
  • Defaulting isLive parameter value on channel change
  • Other fixes and enhancements.

Release 7.0.0.0 (09-06-2019)

  • Support for CDN based config.
  • Support for Market based EMM UAID pings.
  • Changes required for proper DCR Static measurement in multi-instance/multiple appid's case.
  • Fixes for OTT synchronization issues between iOS and Android platforms.
  • Fixes for EV data parameters in few scenarios.
  • Fixes for DCR Static product behaviour in background app refresh and background fetch scenarios.
  • DCR Ad reporting improvements.
  • Fixes and improvements for the SDK console log messages.
  • Other enhancements and fixes.

Release 6.2.0.0 (02-04-2019)

  • Introduced Dynamic framework for SDK.
  • Removal of Location Module from SDK Code.
  • Increased SDK log file size for Debug mode.
  • Removed OTT Airplay/mirroring detection that caused crashes in AVAudioSession class.
  • DCR performance improvements.
  • Fixed the parsing error happening when clientid/vcid provided as empty in metadata.
  • Align AppSDK for FW detection with BSDK for DCR measurement.
  • Other Bug Fixes/Enhancements.

Release 6.1.0.1 (9-13-2018)

  • Support added for Video On Demand in TV Ratings
  • Support for Xcode 10 and iOS 12

Release 6.0.0.4 (5-24-2018)

  • If the SDK build target is set to AGF then SDK will send the hello ping to “eu” and “eu-uat” for debug builds. No changes to the non AGF build the default sfcode will continue to be "sdk" and "cert" for debug build.
  • The C1 parameter (NUID) will now be sent as encrypted DeviceID.
  • New SessionID changes. The sessionID will contain 29 length random characters appended by timestamp.
  • Support for multiple SDK instance without any limit.
  • New log feature for CAT tool to retrieve the API level information from client apps. This ping will contain the eventType, parameters, SDK version, appid etc.
  • Removed Viewability for this release.

Release 5.1.1.29 (7-31-2017)

  • Genre parameter will be a part of DCR pings and the value will be reflected as part of c44 parameter.
  • Merged adModel and adLoadType flags
  • Fix for stop event data carried to next session’s duration ping

Release 5.1.1.25 (5-31-2017)

  • Enhanced support for Digital Audio
  • Ability to pass adloadtype as “linear” or “dynamic”
  • Ability to detect end of content and static material through duration pings
  • Acceptance of empty parameters with a warning message triggered, if a required parameter is missing
  • Acceptance of case-insensitive JSON key values
  • Configurable feature to show Ad view counts in the duration pings
  • Automatic Pause Detection and Debug build detection
  • Change of default ‘type’ from “ad” to “content”
  • Removal of “Static” Launch Ping for Non-Static product implementations
  • Fix for App crash when multiple threads are accessing the SQLite

Release 5.1.1.23 (5-5-2017)

  • Ability to pass adloadtype as “linear” or “dynamic”
  • Ability to detect end of content and static material through duration pings
  • Acceptance of empty parameters with a warning message triggered, if a required parameter is missing
  • Acceptance of case-insensitive JSON key values
  • Configurable feature to show Ad view counts in the duration pings
  • Automatic Pause Detection and Debug build detection
  • Change of default ‘type’ from “ad” to “content”
  • Removal of “Static” Launch Ping for Non-Static product implementations
  • Fix for App crash when multiple threads are accessing the SQLite

Release 5.1.1.19 (4-3-2017)

  • Fix for muting background music apps

Release 5.1.1.18 (2-3-2017)

  • Minor bug fixes and performance improvement

Release 5.1.1.17 (1-23-2017)

  • Added “seconds” place to the launch ping
  • Ability to opt-out using “Limit Ad Tracking” feature
  • Improved CPU Performance while apps are running in background
  • Opt-Out pages can be served based on user’s language and locale from device

Release 5.1.1.12 (12-14-2016)

  • Support for Nielsen TV Brand Effect
  • Ability to set CMS parameters at a more global level
  • Opt-out pages based on locale and country
  • Opt-out policy based on the ‘Limit Ad Tracking’ flag
  • Collection of additional device information
  • Issue a warning in client developer’s console when ad is played for more than 5 minutes
  • Removed the requirement for “type” parameter
  • Limit the duration reported for App launch

Release 5.1.1.9 (10-18-2016)

  • Fixed Linker error duplicate symbols for Reachability notification in iOS.

Release 5.1.1.7 (9-13-2016)

  • Support for iOS 10
  • Usage of stop API call is made optional when switching between content or advertising occurs.
  • General bug fix and performance improvements

Release 5.1.1.5 (7-12-2016)

  • Sending event level (button press data) data to census collections.
  • Support for Pause timeout (from 30 minutes to 5 minutes)
  • Changes in OTT when switching from mobile to Chromecast
  • Self-error Reporting for iOS SDK
  • General bug fix and performance improvements

Release 5.1.0.5 (4-25-2016)

  • Combined SDK for DCR US and International (Germany)
  • API to signal end of content (end API)
  • Changes to use of stop API
  • Support for OTT measurement
  • Support for Pause timeout
  • Offline viewing
  • Updated API to support JSON object instead of string.
  • Reporting of media URL and bundle ID
  • Updated ping retry logic
  • Changes in OptOut process behavioral
  • Enhanced Debugging and SDK logging
  • Changes to API signature
  • Introduced new API updateOTT to report current OTT status.

Release 4.0.0.8 (6-9-2015)

  • Support for Nielsen DCR product (Digital Content Ratings)
    • All the products should be migrated to the latest SDK.
    • This SDK distribution does not have a native library component or shared object.
  • Support for Nielsen App static measurement
  • Support for Ad measurement
  • Removal of Native C++ code
  • Removed singleton restriction
  • Support for iOS 9 and iOS 9 PIP mode
  • General bug fix and performance improvements

Release 3.2.1.26 (1-10-2015)