video-ad-sdk
Version:
VAST/VPAID SDK that allows video ads to be played on top of any player
17 lines (16 loc) • 887 B
JavaScript
import { getClickThrough, getSkipOffset } from '../../../vastSelectors';
import { getProgressEvents } from '../progress/getProgressEvents';
import { safeCallback } from '../safeCallback';
import { metricHandlers } from './handlers';
export const setupMetricHandlers = ({ vastChain, videoAdContainer, hooks, pauseOnAdClick }, callback) => {
const [{ ad: inlineAd }] = vastChain;
const skipoffset = inlineAd && getSkipOffset(inlineAd);
const clickThroughUrl = inlineAd && getClickThrough(inlineAd);
const progressEvents = getProgressEvents(vastChain);
const data = Object.assign({ clickThroughUrl,
pauseOnAdClick,
progressEvents,
skipoffset }, hooks);
const stopHandlersFns = metricHandlers.map((handler) => safeCallback(handler(videoAdContainer, callback, data)));
return () => stopHandlersFns.forEach((disconnect) => disconnect());
};