video-ad-sdk
Version:
VAST/VPAID SDK that allows video ads to be played on top of any player
27 lines (26 loc) • 1.07 kB
JavaScript
import { linearEvents, nonLinearEvents, trackLinearEvent, trackNonLinearEvent } from '../tracker';
import { VastAdUnit } from './VastAdUnit';
import { VpaidAdUnit } from './VpaidAdUnit';
export function createVideoAdUnit(vastChain, videoAdContainer, options) {
const { tracker, type } = options;
const adUnit = type === 'VPAID'
? new VpaidAdUnit(vastChain, videoAdContainer, options)
: new VastAdUnit(vastChain, videoAdContainer, options);
Object.values(linearEvents).forEach((linearEvent) => adUnit.on(linearEvent, (event) => {
const { type: eventType, data } = event;
const payload = {
data,
errorCode: adUnit.errorCode,
tracker
};
trackLinearEvent(eventType, vastChain, payload);
}));
Object.values(nonLinearEvents).forEach((nonLinearEvent) => adUnit.on(nonLinearEvent, (event) => {
const payload = {
data: event.data,
tracker
};
trackNonLinearEvent(event.type, vastChain, payload);
}));
return adUnit;
}