AI-generated Key Takeaways
-
Numeric gaps may exist in release sequence numbers due to periodic skipped numbers.
-
Recent updates include adding ad period information, supporting HLS interstitials metadata, and adding network code to stream request parameters.
-
The SDK has seen several fixes for memory leaks, tracking URLs, and event dispatching.
-
Support has been added for skippable ads, VOD Pod Serving streams, and managing ad size constraints based on the view frame.
-
Minimum tvOS version requirements have increased in recent updates.
- Increases the minimum tvOS version for compilation to tvOS 15.
- Adds the
useHLSInterstitialparameter to enable interstitial support for theIMALiveStreamRequestandIMAVODStreamRequestinterfaces.
- Adds the ad period info to the
AD_PERIOD_STARTEDevent, which you can access fromIMAAdEvent.adDataproperty. - Adds support for handling HLS interstitials metadata with the IMA SDK.
- Adds network code to the list of stream request parameters for all stream types.
- Fires a LOG event when an invalid click-through URL is clicked, rather than failing silently.
- Fixes a memory leak when OMID sessions were improperly destroyed.
- Adds support for skippable ads in VOD Pod Serving streams.
- Fixes a bug with scrolling support when the video is embedded in a scrollable container.
- Adds support for
minSuggestedDurationto non-linear ads - Fixes a bug that would cause some Campaign Manager tracking URLs to be incorrectly encoded.
- Fixes an issue that caused
STARTEDevents to not be dispatched on some ad sessions.
- Adds
VODConfigIDto IMAVideoStitcherVODStreamRequest . - Fixes nullpointerexception when
adTagURLisnullinIMAAdsRequest. - Changes asset-level fallback logic to iterate through all ads in the original VAST until the SDK identifies a playable creative. If no playable creative is found, the ad isn't played.
- Fixes issue where tracking pings to
ad.doubleclick.netwere not being fired. - Sets the SDK's ad size rendering constraints based on the view frame instead of the safe area layout guide for the playerView.
- Adds a privacy manifest
PrivacyInfo.xcprivacyfile and a signature for the SDK. - Adds IMAVideoStitcherLiveStreamRequest.videoStitcherSessionOptions and IMAVideoStitcherVODStreamRequest.videoStitcherSessionOptions properties to set Cloud Video Stitcher's options for manifest generation .
- Fixes an issue where content audio could be heard during ad playback.
- Enables Pod Serving VOD stream requests.
- Updates constraints for the AdUI to respect safe area guides.
- Adds a getter for cue points to iOS/tvOS stream manager
- Fixed a bug which causes high CPU utilization for some DAI streams.
- Increased minimum tvOS version for compilation to tvOS 14.
- Removed support for the ARMv7 platform.
- Adds the IMAVideoStitcherLiveStreamRequest class, which provides support for the Google Video Stitcher Live API .
- Adds the IMAVideoStitcherVODStreamRequest class, which provides support for the Google Video Stitcher VOD API .
- Added
userContextto IMA stream requests. - Fixed bug that caused unnecessary "Invalid internal message" warnings.
- Fixed an issue with publishers overwriting IMA SDK version information.
- Added
AD_CAN_PLAYevent. Fired when the ad is ready to play without buffering. - Increased max default bitrate to unlimited for non-mobile devices.
- Service release; No public changes.
- Raised the minimum tvOS version to tvOS 12.
- Fixed a bug that could result in multiple Why this Ad icons.
- Removed need for MPNowPlayingSession.
- Fixed an issue that caused warning messages on tvOS < 12.
- Last version of the IMA SDK for iOS to support tvOS 10.
- Added
IMASettings.sessionIDproperty to allow publishers to manually set their sessionID. - Added support for PiP.
- Fixed an issue where ad pause and resume events could sometimes fire during content.
- Added
IMAVideoDisplay.nowPlayingSessionto properly support play/pause events on tvOS 14+. - Fixed a bug where adsense linear ads were being reported to the publisher as non linear.
- Fixed an issue where
IMAStreamManager.replaceAdTagParameterswould not issue an update. - Added pod serving APIs.
- Enforced adContainer attachment to window.
- Updated the IMA SDK to support tvOS 14: Added support for
AppTrackingTransparency. See request App Tracking Transparency authorization for more information.
- Added support for Google's Additional Consent mode. For more information, see Google's Additional Consent Mode technical specification .
- Added support for the "language_name" key for stream subtitles.
- Fixed an issue that caused audio-only ads to timeout.
- Fixed an issue where skipping the first ad in a preroll would cause the second ad to ignore its own skip offset.
- Added
IMAAdDisplayContainer.focusEnvironment, which allows publishers to transfer focus to SDK during ad breaks. This is required whenever the user needs to interact with the ad UI (e.g. skippables, VAST icons). - Added
viewControlleras a new required initialization argument or property forIMAAdDisplayContainer. - Fixed non-English localization support.
- Reduced erroneous
RESUMEevents. - Added
IMAAdsRenderingSettings.enablePreloading, which is enabled by default, to improve ad rendering performance. - Added support for skippable ads (client-side and VOD) and VAST icons (client-side and DAI)
- Added the
ICON_FALLBACK_IMAGE_CLOSEDandICON_TAPPEDevents. We recommend automatically resuming onICON_FALLBACK_IMAGE_CLOSEDsince the SDK pauses on fallback image open. - Fixed an issue where the
IABTCF_gdprApplieswas only acknowledged if it was a string.
- Fixed an issue where certain app bundle IDs could cause traffic to be misclassified.
- Increased the minimum runtime version to tvOS 10
- Fixed a bug where some UI updates could trigger on a background thread
- Fixed an issue where strict flags would make IMACompanionAd's init conflict with NSObject's
- Deprecated the
loadURLmethod on the IMAVideoDisplay protocol
- 4.2.1 will be the final version of the IMA SDK that supports tvOS 9.x
- Fixed an issue where clickthroughs would crash on tvOS 9.x
- Fixed an intermittent crash issue on tvOS 13.
- Added support for tvOS 13.
- Added
playerVideoDisplay:didLoadPlayerItem:for DAI. - Added
IMAAd.companionAdsandIMACompanionAdfor DAI ads. - Updated
IMAAVPlayerVideoDisplayDelegatenames to better fit Objective-C style.
- Fixed an issue where the play button on the Apple TV remote did not resume content.
- Fixed an issue where the user's "Limit Ad Tracking" setting was incorrectly transmitted.
-
IMAAdEventType.adDatais now typed. - Added the
authToken APIonIMAStreamRequest.
- Combined client-side and DAI tvOS SDKs
- Fixed an issue where AdsLists weren't parsed and threw AdsLoader errors on tvOS.
Show earlier versions
- Changed the default stream initialization timeout from 5 seconds to 8 seconds.
- Added
initializationTimeoutproperty toIMAStreamRequestto enable configuration of the stream initialization timeout.
- Added adPeriodDidStart and adPeriodDidEnd callbacks to IMAStreamManagerDelegate.
- To prevent duplicate metrics recording, ad events like AD_BREAK_STARTED/AD_BREAK_ENDED no longer fire when re-watching/seeking an ad.
- Adds support for the
npaad tag parameter.
- Fixes a bug where tracking URLs containing curly braces ("{" or "}") were not being pinged on tvOS 11.2.6.
- Adds the following as acceptable values for
IMAStreamRequest.adTagParameterskeys:- audio range (
dai-aor) - exclude (
dai-excl) - order start (
dai-os) - video range (
dai-sr)
- audio range (
- Adds the following to
IMAAd:advertiserName,creativeID,creativeAdID,dealID,universalAdIDRegistry,universalAdIDValue,wrapperAdIDs,wrapperAdSystems,wrapperCreativeIDs, andwrapperDealIDs. - The SDK now fires
AD_BREAK_STARTEDwhen joining a stream in the middle of an ad break so listeners can render the ad UI. - Adds
IMAAVPlayerVideoDisplayDelegateso that users ofIMAAVPlayerVideoDisplaycan receive theAVAssetURLof the stream to be loaded. With theAVAssetURLobject, users can register for FairPlay content protection playback.
- Removes nonfunctional
IMAStreamRequest.attemptPreroll. - Adds the following as accepted
IMAStreamRequest.adTagParameters:- dai-ah (Ad Holiday)
- dai-dlid (Delivery Location)
- Adds
IMAStreamRequest.streamActivityMonitorID. - Fixes an issue where
[IMAStreamManagerDelegate streamManager:didReceiveError:]wasn't called for a stream that didn't play or load.
- Adds
IMAAd.companions. - Adds the
IMACompanionclass.
- Service release, no new features.
- Fixes bitcode support.
- Adds the following properties to
AdBreakInfo:-
adBreakIndex -
timeOffset
-
- Exposes
[IMAAVPlayerVideoDisplay reset], to be called when you need to replace theAVPlayerItemon your content player with a backupAVPlayerItem.
- Fixes an issue when submitting an app that uses the framework for testing.
- Initial release.

