Introducing Version 4
We are excited to announce JW Player SDK 4.0 for iOS. This release updates the SDK, its new features & UI, and many other improvements to engage your audiences intelligently and monetize your content.
Version 4 is a complete rewrite of the JW Player SDK for iOS in Swift, “the powerful programming language that is also easy to learn,” to make it easier for developers to add the best in class media playback to any iOS app. Please refer to this important 4.x migration guide for iOS to update your current application from version 3.x to 4.x. This guide includes important information about API changes, new features & callbacks, and will help your team with the transition process.
You may use CocoaPods to update to SDK 4.x, or you can download the SDK 4 packages from the Players -> Downloads & Keys section of your JW Player Dashboard. Please note that version 4 of the SDKs are available to our Enterprise edition customers, and do not require new license keys because 3.x license keys will work.
4.0.1
Release Date: September 21, 2021
- Continuing improvements to user interface.
- Fixed a bug where
JWPlayerViewController
crashes in Simulator for iPhone 8 or below.
4.0.0
Release Date: July 28, 2021
General Changes
- Entirely rewritten in Swift while maintaining backward compatibility for customer applications using Objective-C.
- Completely native player and User Interface by using
UIKit
, which gives easier video control presentations and customizations. - Decoupled user interface, which gives greater flexibility for creating own user interface with
JWPlayerView
. - License keys must be supplied programmatically through
JWPlayerKit
. For extra security, they are no longer read from theInfo.plist
in the application. - Thumbnail preview is shown as the user seeks across the content if the thumbnail track is specified for a
JWPlayerItem
. - New and improved customizable user interface through using the
JWPlayerViewController
. - Chromecast is supported through using our interface in
JWPlayerViewController
if you include GoogleCast SDK in your project. - Related content is displayed in a new and improved user interface, complete with autoplay functionality.
- Added a common error reporting
JWError
for warnings and errors. - Added specialized metadata event delegates, which can be subscribed to events through the
JWPlayer
protocol. - Added fast forward button to compliment the rewind button
Ads
- Upgraded IMA support to 3.14.3 include iOS 14 and above.
- JW iOS SDK 4.0 supports Google IMA, Google IMA DAI, and JW Player VAST.
- Added Picture-in-Picture support for IMA DAI ads.
- Added ability to set custom initialization options through the
assetOptions
property.
API Updates
- Added dedicated builders for each type of ad, and renamed
JWAdConfig
toJWAdertisingConfig
.- Google IMA
JWImaAdvertisingConfigBuilder
- Google IMA DAI
JWImaDaiAdvertisingConfigBuilder
- JW Player VAST
JWAdsAdvertisingConfigBuilder
- Google IMA
- Renamed
JWConfig
toJWPlayerConfiguration
, which is created using a separate objectJWPlayerConfigurationBuilder
. - Renamed
JWPlaylistItem
toJWPlayerItem
. - Renamed
JWSource
toJWVideoSource
. - Renamed
JWRelatedConfig
toJWRelatedContentConfiguration
. - Deprecated
JWTrack
, and added associated buildersJWMediaTrack
,JWChapterTrack
,JWCaptionTrack
, andJWThumbnailTrack
.
Event API
- Added multiple delegates for different events
JWPlayer
JWPlayerDelegate
JWPlayerStateDelegate
JWPlayerViewControllerDelegate
JWViewControllerDelegate
JWAdDelegate
JWAVDelegate
JWPlaybackMetadataDelegate
User Interface
- Added Lock screen control, which is more reactive to the state of the player:
- The next item and previous item buttons are shown if the current item is part of a playlist.
- The rewind and fast forward buttons are enabled if there is only one item.
- “Advertisement” is displayed as the video title when an ad is playing.
- The application’s name is displayed in the controls if a currently playing item does not have a title.
- “Previous Item” button is disabled for the first item in a playlist, and the “Next Item” button is disabled for the final item in a playlist.
- Added chapter markers, which are displayed as cue points and chapters have been defined for the player item.
Captions
- Added ability to customize the look of captions using
JWCaptionStyle
. These settings are observed only if they are not specified in the user’s accessibility settings. - Added side-loaded VTT captions positional attributes, which is specified within the VTT file. Vertically-displayed text is not supported.
- Added In-manifest Caption support for Chromecast.
Deprecated features
- VPAID and FreeWheel support
- CSS support