Skip to content
This repository has been archived by the owner on Jul 2, 2021. It is now read-only.

Commit

Permalink
Merge pull request #191 from Wikia/ADEN-5918
Browse files Browse the repository at this point in the history
ADEN-5918 Track FV as slot to kikimora
  • Loading branch information
dianafa committed Oct 10, 2017
2 parents ec80934 + fd20a7c commit e650db6
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 4 deletions.
15 changes: 15 additions & 0 deletions app/modules/ads.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,21 @@ class Ads {
return this.vastUrlBuilder.build(aspectRatio, slotParams, options);
}

/**
* Dispatch adengine event
*
* @param {string} name
* @param {Object} data
*
* @returns {void}
*/
dispatchEvent(name, data) {
const event = document.createEvent('CustomEvent');

event.initCustomEvent(`adengine.${name}`, true, true, data || {});
window.dispatchEvent(event);
}

registerOoyalaTracker(player, params) {
if (!this.ooyalaTracker) {
console.warn('Can not use Ooyala tracker.');
Expand Down
1 change: 1 addition & 0 deletions app/modules/video-players/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export default class BasePlayer {
this.videoHeight = params.size.height;
// Most common video container selector
this.containerSelector = '.lightbox-content-inner > iframe';
this.params.adIndex = 0;
}

/**
Expand Down
5 changes: 4 additions & 1 deletion app/modules/video-players/ooyala-v4.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,15 @@ export default class OoyalaV4Player extends BasePlayer {
params.skin.config = skinConfigUrl;

super(provider, params);
this.adTrackingParams = params.adTrackingParams;
this.adTrackingParams = params.adTrackingParams || {};

params.onCreate = (player) => {
originalOnCreate(player);

Ads.getInstance().registerOoyalaTracker(player, this.adTrackingParams);
player.mb.subscribe(window.OO.EVENTS.ADS_PLAYED, 'video-tracker', () => {
this.params.adIndex += 1;
});
};

this.containerId = params.containerId;
Expand Down
34 changes: 31 additions & 3 deletions app/modules/video-players/ooyala-video-ads.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,38 @@ export default class OoyalaVideoAds {
}

IMAAdsManager.addEventListener('loaded', (eventData) => {
const adData = eventData.getAdData();
const adData = eventData.getAdData(),
currentAd = IMAAdsManager.getCurrentAd(),
adSet = this.params['google-ima-ads-manager'].all_ads;

this.trackingParams.lineItemId = adData.adId;
this.trackingParams.creativeId = adData.creativeId;
let wrapperCreativeId,
wrapperId;

if (adData) {
this.trackingParams.lineItemId = adData.adId;
this.trackingParams.creativeId = adData.creativeId;
}

if (currentAd) {
wrapperId = currentAd.getWrapperAdIds();
if (wrapperId.length) {
this.trackingParams.lineItemId = wrapperId[0];
}

wrapperCreativeId = currentAd.getWrapperCreativeIds();
if (wrapperCreativeId.length) {
this.trackingParams.creativeId = wrapperCreativeId[0];
}
}

if (adSet && adSet[this.params.adIndex]) {
Ads.getInstance().dispatchEvent('video.status', {
vastUrl: adSet[this.params.adIndex].tag_url,
creativeId: this.trackingParams.creativeId,
lineItemId: this.trackingParams.lineItemId,
status: 'success'
});
}
});

// that's a hack for autoplay on mobile for VPAID ads
Expand Down

0 comments on commit e650db6

Please sign in to comment.