js/IVPAIDAdUnit.js
'use strict';
//simple representation of the API
export class IVPAIDAdUnit {
//all methods below
//are async methods
handshakeVersion(playerVPAIDVersion = '2.0', callback = undefined) {}
//creativeData is an object to be consistent with VPAIDHTML
initAd (width, height, viewMode, desiredBitrate, creativeData = {AdParameters:''}, environmentVars = {flashVars: ''}, callback = undefined) {}
resizeAd(width, height, viewMode, callback = undefined) {}
startAd(callback = undefined) {}
stopAd(callback = undefined) {}
pauseAd(callback = undefined) {}
resumeAd(callback = undefined) {}
expandAd(callback = undefined) {}
collapseAd(callback = undefined) {}
skipAd(callback = undefined) {}
//properties that will be treat as async methods
getAdLinear(callback) {}
getAdWidth(callback) {}
getAdHeight(callback) {}
getAdExpanded(callback) {}
getAdSkippableState(callback) {}
getAdRemainingTime(callback) {}
getAdDuration(callback) {}
setAdVolume(soundVolume, callback = undefined) {}
getAdVolume(callback) {}
getAdCompanions(callback) {}
getAdIcons(callback) {}
}
Object.defineProperty(IVPAIDAdUnit, 'EVENTS', {
writable: false,
configurable: false,
value: [
'AdLoaded',
'AdStarted',
'AdStopped',
'AdSkipped',
'AdSkippableStateChange', // VPAID 2.0 new event
'AdSizeChange', // VPAID 2.0 new event
'AdLinearChange',
'AdDurationChange', // VPAID 2.0 new event
'AdExpandedChange',
'AdRemainingTimeChange', // [Deprecated in 2.0] but will be still fired for backwards compatibility
'AdVolumeChange',
'AdImpression',
'AdVideoStart',
'AdVideoFirstQuartile',
'AdVideoMidpoint',
'AdVideoThirdQuartile',
'AdVideoComplete',
'AdClickThru',
'AdInteraction', // VPAID 2.0 new event
'AdUserAcceptInvitation',
'AdUserMinimize',
'AdUserClose',
'AdPaused',
'AdPlaying',
'AdLog',
'AdError'
]
});