Skip to content

Introducing Version 4

Compare
Choose a tag to compare
@Joon-Yu Joon-Yu released this 29 Jul 19:25
6fc366b

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 the Info.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 to JWAdertisingConfig.
    • Google IMA JWImaAdvertisingConfigBuilder
    • Google IMA DAI JWImaDaiAdvertisingConfigBuilder
    • JW Player VAST JWAdsAdvertisingConfigBuilder
  • Renamed JWConfig to JWPlayerConfiguration, which is created using a separate object JWPlayerConfigurationBuilder.
  • Renamed JWPlaylistItem to JWPlayerItem.
  • Renamed JWSource to JWVideoSource.
  • Renamed JWRelatedConfig to JWRelatedContentConfiguration.
  • Deprecated JWTrack, and added associated builders JWMediaTrack, JWChapterTrack, JWCaptionTrack, and JWThumbnailTrack.

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