Releases: jwplayer/jwplayer-sdk-documentation
Google IMA Library Upgade
Stay up to date with the latest Google IMA library in our iOS 3.12.0 release.
3.12.1
Release Date: April 22, 2020 (Build 116)
Fixes
- Fixed an issue where unplugging earphones from a device during ad playback causes the player screen to freeze and become unresponsive to taps
- Fixed a thread synchronization issue where a crash could result from reading and updating a property at the same time
3.12.0
Release Date: March 26, 2020 (Build 115)
Updates
- Upgraded iOS Google IMA support to version 3.11.3
- Google iOS IMA SDK 3.11.3 is the final version that supports iOS 9.x
- All remaining references to UIWebView were removed from Google iOS IMA SDK 3.11.2
- Removed all code enabling IDFA transmission from iOS SDK
Fixes
- Fixed an issue that caused IMA preroll ads to not play when using Google iOS IMA SDK 3.11.2
Google DAI Support
Monetize your live or VOD content with Google IMA Dynamic Ad Insertion (DAI) in our iOS 3.11.0 release! Visit our developer documentation for more details on how to get started.
3.11.1
Release Date: March 16, 2020 (Build 114)
Updates
- Expanded support to display thumbnail images for audio-only MP4 files.
- Added support to surface
metadataCueParsed
events forEXT-X-DATERANGE
tags.
Fixes
- Fixed a Chromecast issue where casting to a receiver causes the app to crash and provides a
EXC_BAD_ACCESS
error - Fixed issue where repeatedly loading a playlist item causes the
loadTime
property of theonFirstFrame
event to be null, resulting in a crash.
3.11.0
Release Date: February 28, 2020 (Build 113)
Updates
- Added support for Google IMA DAI. See our iOS SDK developer documentation for more details.
- Developers can now set the volume for Google IMA ads relative to other audio output.
- Exposed
creativeAdId
andcreativeID
in theAdImpressionEvent
payload for Google IMA ads.
Fixes
- Optimized and increased stability of file handling.
- Fixed issue where relative URL references in ad tags do not load successfully.
FreeWheel improvements and more!
iOS 3.10 is packed with some great updates! We have exposed HLS #EXT-X-DATERANGE tags that can be used to indicate when there are temporal breaks in a live stream—great for ad stitching. Speaking of advertising, we upgraded and made improvements to our FreeWheel ad client. And those who are looking for more customization, you can now add and remove buttons with custom callbacks in your iOS app.
3.10.2
Release Date: February 20, 2020 (Build 112)
Fixes
- Fixed an issue where players using a
JWAdRule.timeBetweenAds
configuration with the VAST ad client will oscillate between player states when there is an empty VMAP mid-roll slot
3.10.1
Release Date: February 6, 2020 (Build 111)
Updates
- Exposed additional
date-range
metadata items that might be included in an HLS#EXT-X-DATERANGE
tag
Fixes
- Fixed an issue where the
playerView
disappears when switching to fullscreen mode in projects that are supporting multiple windows - Fixed an issue where serializing specific
date-range
metadata to JSON would cause a crash - Fixed an issue where players that have the license key entered programmatically crash when their app is upgraded from iOS SDK version 3.8 to a newer version
3.10.0
Release Date: January 30, 2020 (Build 110)
Updates
- Extended FreeWheel ad support to include versions 6.15.0 - 6.32.0
- Added support for playlist-level configuration of FreeWheel where the
JWFreewheelConfig
can now be nested within an individualJWPlaylistItem
. Use case descriptions and a code sample can be found here - Added ability for
pauseAd
method inJWPlayerController
to be called when using the FreeWheel and Google IMA ad clients - Added
addButton()
andremoveButton()
API methods allowing developers the ability to add or remove custom player buttons to the player control bar. When new buttons are added via theaddButton()
API method, they can call back to developers' custom native code - Added
getPlaylistItem()
andgetPlaylist()
API methods allowing developers to get the current playlist or playlist item from a player instance - Added
date-range
metadata type found in JWMetaEvent. Thedate-range
metadata event fires when playback enters the section of an HLS stream tagged with#EXT-X-DATERANGE
. Note:#EXT-X-DATERANGE
support requires iOS 9.3+
Fixes
- Fixed an issue where default controls are misplaced when the
playerView
intersects the notch in iPhone X+ devices - Fixed an issue where the player does not recover when a Google IMA exclusion rule is in the ad pre-roll slot
- Fixed an issue where tapping the screen while an ad is buffering causes the player UI to stop responding until the ad creative timeout fires and the main content resumes playback
- Fixed an issue where calling
pause()
inonBuffer
does not pause the playback - Fixed an issue where some VPAID ad tags return an "invalid XML" error
Version 2.9
2.9.1
Release Date: November 8, 2018
Fixes
- Fixed an issue where the app could crash if FreeWheel returned an empty ad tag (undocumented by FreeWheel)
2.9.0
Release Date: June 18, 2018 (Build 50)
Updates
- We have integrated support for the FreeWheel ad-serving platform. Configure your FreeWheel Ad Manager settings in our new FreeWheel ad client to serve pre-rolls and mid-rolls with other features such as ad-skip and ad-click. Please refer to the new FreeWheel advertising section in our developer guide documentation to get started.
Version 1.x
Release Notes prior to JW SDK version 2.0 (1.x) are available in the readme.txt file included in the 1.x download packages.
Features, Fixes, & Improvements
Features and fixes.
4.7.0
Release Date: September, 12, 2022
General Improvements
- Persists user caption selections between playlist items based on the caption label.
- When casting a multi-source MP4 video, we now cast the source marked as default if one is available.
Features
- Added new API to enable and disable Caption rendering.
- Added new API to listen to new CaptionText cues.
Fixes
- Prevent a possible null pointer in our IMA implementation.
Features, Fixes, & Improvements
4.6.1
Release Date: September, 2, 2022
General Improvements:
- Background audio notification improved on Samsung devices
- onAdPlay and onAdPause now have a playReason and pauseReason
Fixes:
- Seeking in fractional seconds
- Infinite buffer after a casting session ends
- Crash when using AndroidX FragmentContainer with the JWPlayerFragments
- PlaylistItemCallback functionality when used with a PlaylistItem with ads
- UI tweaks and improvements
- API stop() method would result in a unresponsive player
- PiP events not firing
- Sideloaded captions not selectable when Casting
- Captions accessibility settings not applying
- Stream would not remain paused when Casting was started while paused
4.6.0
Release Date: July, 1, 2022
Fixes
- Fixed Chromecast on Android api 31 -> affected version 4.3.6
- Fixed Chromecast options not displayed in player option -> affected version 4.5.0
- Fixed GoogleIMA onAdRequest UNKNOWN -> affected version 4.5.0
- Fixed Controls visibility after DAI Ads completion -> affected version 4.2.0
- Fixed duplicated onAdPause DAI event -> affected version 4.0.1
- Fixed recommendation text alignment -> affected version 4.0.1
- Fixed idle progress visibility on api stop -> affected version 4.4.0
Features, Fixes, & Improvements
4.5.1
Release Date: April 12, 2022
Fixes
- Fixed an issue where the
onAdImpressionListener.onAdImpression
not containing theskipOffset
value set.
4.5.0
Release Date: March 21, 2022
Fixes
- Fixed a bug where onAdBreakEndEvent & onAdBreakStartEvent triggered twice
- Fixes a bug where the Normal (1x) playback rate would not appear in the UI if there was no
1.0
rate defined in thePlayerConfig
New Features
- New Seekbar with chapter and ad markers
- Added support for selecting captions based on the caption language
- Developers can now use our ViewModels to power their Custom UI
- Added support for Custom Styling
Improvements
- Updated ExoPlayer to 2.16.1
Custom Ad controls, programmatic fullscreen, improvements
4.4.0
Release Date: February 9, 2021
Features and Improvements:
- Added
openAdClickthrough()
API to support using custom ad controls. - Added
transitionToFullScreen()
anddismissFullScreen()
APIs to support programmatically entering and exiting fullscreen mode. - Exposed skip offset through the
meta
ad event.
Fixed Issues:
- Fixed certain side-loaded caption options not displaying.
- Fixed play button not displaying when player is loaded from complete state.
- Fixed crash when setting an out-of-bounds captions/audio index.
- Fixed certain caption options being omitted when playing HLS content.
- Fixed content not replaying when replay is set to true.
- Fixed VMAPs not working when using the
JWAdsAdvertisingConfigBuilder
API. - Fixed crash when JWPlayerViewController deinitializes.
- Fixed crash when accessing certain
JWPlayerViewController
properties before the “onReady” event. - Fixed skip button not working on second ad of an ad pod.
- Fixed skipping of second ad in an ad pod.
Localization Support, WebVTT Captions in Chromecast and More!
Now you can display labels and other UI elements in your user's native language. We've also added a much-requested feature--captions in Chromecast.
4.3.0
Release Date: December 6, 2021
Features and Improvements
- Added localization support for languages: Arabic, Chinese, Dutch, Finnish, French, German, Greek, Hebrew, Indonesian, Italian, Japanese, Korean, Norwegian, Portuguese, Romanian, Russian, Slovenian, Spanish, Swedish, Thai, Turkish
- Added localization support by IMA with IMASdkSettings configuration
- Added support for in-manifest WebVTT captions when casting to Chromecast
- IMA midroll and postroll ads are now pre-requested to improve the transition between content and ads
Fixed Issues
- Fixed an issue where empty IMA ads caused the player to become unresponsive
- Fixed a DAI bug on Android API 5.0 where the ads do not play
- Fixed a VAST bug where after skipped midroll the progress bar goes to the end of the stream.
- Fixed a bug where IMA midrolls would not be requested as expected during video playback