Brightcove Player IMA3 Plugin v4.0.0
The Brightcove Player IMA3 Plugin v4.0.0 is available.
This release focuses on simplifying the autoplay behavior of the IMA3 plugin and supporting the full range of possible values offered by Video.js. And its resolves some issues with interactions between the IMA3 plugin and playlists.
For heavily customized integrations, we've included a short migration guide below, which will also be available in the Brightcove support documentation soon. For basic integrations, the upgrade should be seamless.
A full list of backward incompatible changes and a migration guide follows:
Backward Incompatible Changes
- Removes an internal dependency on the
can-autoplay
library and changes autoplay behavior to add support for Video.js "any", "play", and "muted" values. This includes the removal of the following properties:player.ima3.canAutoPlayVideo
player.ima3.canAutoPlayMutedVideo
player.ima3.canAutoPlayMutedInlineVideo
- Removes the
player.ima3.adPlayer
andplayer.ima3.adControlBar
components and replaces them with a middleware-based UI for ad playback. - Removes the
player.ima3.adTech
property. - Removes the
usePlayerAutoplayHandling
option. - Removes the
adTechOrder
option as Flash is no longer supported. - Removes the
debugContribAds
option - Removes an older naming scheme for videojs-ima3 distributed files (videojs.ima3.x).
Migration Guide
The minimum compatible player version for this version of the IMA plugin is v6.59.1.
Previous versions of the IMA3 plugin would treat autoplay: true
as autoplay: "any"
- falling back to muted autoplay if unmuted didn’t work. This is no longer the case. Instead, full control is granted to publishers who are able to select their preferred autoplay behavior. All possible Video.js autoplay values are supported.
In order to emulate the fallback behavior of the IMA3 plugin 3.x, use autoplay: "any"
.
Additional Steps to Migrate
- Remove references to
player.ima3.adPlayer
andplayer.ima3.adControlBar
from custom integration code.- Any previously existing
adPlayer
method calls (ex.adPlayer.currentTime()
,adPlayer.duration()
) should be replaced with method calls on the player (ex.player.currentTime()
,player.duration()
), which will now pass through Video.js middleware. - For example, during content playback,
player.currentTime()
will return the current playhead position within the content. During ad playback, the same method will return the current playhead position within the ad.
- Any previously existing
- Remove references to the
player.ima3.adTech
property, which no longer has a use and has been removed. - Use the
debug
option instead ofdebugContribAds
. - Remove the
usePlayerAutoplayHandling
andadTechOrder
options as they now do nothing.