This demo showcases how to enable ad event reporting using the Open Measurement SDK for viewability measurement and tracking.
1. Include Bitmovin Player Advertising module (BAM) and the Advertising OM SDK module in your page
<!-- Bitmovin Modular Player Scripts -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-core.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-engine-bitmovin.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-xml.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-dash.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-mserenderer.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-container-mp4.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-abr.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-core.js"></script>
<!-- Bitmovin Advertising Module -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-core.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-bitmovin.js"></script>
<!-- Bitmovin OM SDK Module -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-omsdk.js"></script>
2. Set up the player instance for ad verification using OM SDK
Note: The configured
validationScriptUrl
, among other things, defines which ad tracking events should subscribed to and the location of the verification server to report to.
// Add modules for ordinary playback, e.g. here specifically for DASH streams (step a)
bitmovin.player.core.Player.addModule(bitmovin.player['engine-bitmovin'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['mserenderer'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['xml'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['dash'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['abr'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['container-mp4'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['polyfill'].default);
// Add Bitmovin Advertising and OM SDK player modules
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-core'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-bitmovin'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-omsdk'].default);
// Create player config & include a OM SDK tracker config (step b)
var conf = {
key: '<YOUR PLAYER KEY>',
advertising: {
adBreaks: [ /* ... */ ],
trackers: {
omSdk: {
partnerName: 'awesome-company',
partnerVersion: '1.0.0',
verificationResources: [{
validationScriptUrl: 'https://somewhere.com/validation-script.js',
}]
},
}
},
};
// Create player instance & load source (step c)
var playerContainer = document.getElementById('player-container');
var player = new bitmovin.player.core.Player(playerContainer, conf);
player.load({
dash: 'https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd',
});