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-autoplaylibrary 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.canAutoPlayVideoplayer.ima3.canAutoPlayMutedVideoplayer.ima3.canAutoPlayMutedInlineVideo
- Removes the
player.ima3.adPlayerandplayer.ima3.adControlBarcomponents and replaces them with a middleware-based UI for ad playback. - Removes the
player.ima3.adTechproperty. - Removes the
usePlayerAutoplayHandlingoption. - Removes the
adTechOrderoption as Flash is no longer supported. - Removes the
debugContribAdsoption - 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.adPlayerandplayer.ima3.adControlBarfrom custom integration code.- Any previously existing
adPlayermethod 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.adTechproperty, which no longer has a use and has been removed. - Use the
debugoption instead ofdebugContribAds. - Remove the
usePlayerAutoplayHandlingandadTechOrderoptions as they now do nothing.