UNPKG

@convivainc/conviva-js-imasdk

Version:
2 lines 10.5 kB
/*! (C) 2022 Conviva, Inc. All rights reserved. Confidential and proprietary. */ !function(o,e){"function"==typeof define&&define.amd?define(e):("object"==typeof exports||"object"==typeof module&&module.exports)&&(module.exports=e()),void 0!==o&&o&&(void 0!==o.Conviva&&o.Conviva?o.Conviva.AdProxyMonitor||o.ConvivaModuleLoading||(e=e(),o.ConvivaModuleLoading=!0,o.Conviva.AdProxyMonitor=e.AdProxyMonitor,o.Conviva.Impl.GoogleImaProxy=e.Impl.GoogleImaProxy,delete o.ConvivaModuleLoading):o.ConvivaModule)}(this,function(){var t={};return function(){"use strict";function o(o,e,g,n){var s=this;s.isAdBreakEnabled=!0,s.convivaAdAnalytics=null,s.isPreviousEventAdBuffering=!1,this.registerAdsLoaderListeners=function(){var o={};if(o[n.Constants.FRAMEWORK_NAME]="Google IMA SDK","undefined"==typeof google||!google)throw new Error("Google IMA SDK is not accessible");o[n.Constants.FRAMEWORK_VERSION]=""+google.ima.VERSION,s.convivaAdAnalytics.setAdPlayerInfo(o),s.adsLoader&&(s.adsManagerLoadedBind=function(o){this.adManagerInfo&&this.adManagerInfo[n.Constants.IMASDK_CONTENT_PLAYER]&&(this.adsManager=o.getAdsManager(this.adManagerInfo[n.Constants.IMASDK_CONTENT_PLAYER]),this.registerAdsManagerListeners())}.bind(s),s.onAdsLoaderErrorBind=function(o){o=o.getError();this.reportAdFailed(o,"Ads Loader Error")}.bind(s),s.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,s.adsManagerLoadedBind,!1,s),s.adsLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,s.onAdsLoaderErrorBind,!1,s))},this.registerAdsManagerListeners=function(){for(var o in s.onAdsManagerErrorBind=function(o){o=o.getError();this.handleAdError(o)}.bind(s),s.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,s.onAdsManagerErrorBind,!1,s),s.onAdEventBind=function(o){o.type===google.ima.AdEvent.Type.STARTED&&o.getAd().isLinear()?(this.onAdStart(o),this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.PLAYING)):o.type===google.ima.AdEvent.Type.RESUMED&&o.getAd().isLinear()?this.convivaAdAnalytics&&this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.PLAYING):o.type===google.ima.AdEvent.Type.PAUSED&&!0===o.getAd().isLinear()?this.convivaAdAnalytics&&this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.PAUSED):o.type===google.ima.AdEvent.Type.COMPLETE&&!0===o.getAd().isLinear()?this.convivaAdAnalytics&&(this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.STOPPED),this.convivaAdAnalytics.reportAdEnded()):o.type===google.ima.AdEvent.Type.SKIPPED&&!0===o.getAd().isLinear()?this.convivaAdAnalytics&&(this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.STOPPED),this.convivaAdAnalytics.reportAdSkipped()):o.type===google.ima.AdEvent.Type.ALL_ADS_COMPLETED?this.allAdsCompleted=!0:o.type===google.ima.AdEvent.Type.LOG?this.onAdLogError(o):o.type===google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED?this.onContentPauseRequested(o):o.type===google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED?this.onContentResumeRequested(o):o.type===google.ima.AdEvent.Type.AD_BUFFERING?this.convivaAdAnalytics&&(this.isPreviousEventAdBuffering=!0,this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.BUFFERING)):o.type===google.ima.AdEvent.Type.AD_PROGRESS&&this.convivaAdAnalytics&&(this.isPreviousEventAdBuffering?this.isPreviousEventAdBuffering=!1:this.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.PLAYER_STATE,n.Constants.PlayerState.PLAYING))}.bind(s),s.events=[google.ima.AdEvent.Type.AD_BREAK_READY,google.ima.AdEvent.Type.AD_CAN_PLAY,google.ima.AdEvent.Type.AD_METADATA,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,google.ima.AdEvent.Type.CLICK,google.ima.AdEvent.Type.COMPLETE,google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,google.ima.AdEvent.Type.DURATION_CHANGE,google.ima.AdEvent.Type.EXPANDED_CHANGED,google.ima.AdEvent.Type.FIRST_QUARTILE,google.ima.AdEvent.Type.IMPRESSION,google.ima.AdEvent.Type.INTERACTION,google.ima.AdEvent.Type.LINEAR_CHANGED,google.ima.AdEvent.Type.LOADED,google.ima.AdEvent.Type.LOG,google.ima.AdEvent.Type.MIDPOINT,google.ima.AdEvent.Type.PAUSED,google.ima.AdEvent.Type.RESUMED,google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,google.ima.AdEvent.Type.SKIPPED,google.ima.AdEvent.Type.STARTED,google.ima.AdEvent.Type.THIRD_QUARTILE,google.ima.AdEvent.Type.USER_CLOSE,google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,google.ima.AdEvent.Type.VOLUME_CHANGED,google.ima.AdEvent.Type.VOLUME_MUTED,google.ima.AdError.Type.AD_LOAD,google.ima.AdError.Type.AD_PLAY,google.ima.AdEvent.Type.AD_BUFFERING,google.ima.AdEvent.Type.AD_PROGRESS],s.events)s.adsManager.addEventListener(s.events[o],s.onAdEventBind,!1,s)},this.onContentPauseRequested=function(o){s.allAdsCompleted=!1,s.contentPauseRequested=!0,s.convivaAdAnalytics&&(s.currentPodIndex=o.getAd().getAdPodInfo().getPodIndex(),s.isAdBreakEnabled)&&(s.podDuration=o.getAd().getAdPodInfo().getMaxDuration(),0===s.currentPodIndex?s.podPosition="Pre-roll":-1===s.currentPodIndex?s.podPosition="Post-roll":s.podPosition="Mid-roll",(o={})[n.Constants.POD_POSITION]=s.podPosition,o[n.Constants.POD_DURATION]=s.podDuration,o[n.Constants.POD_INDEX]=s.podIndex,s.convivaAdAnalytics.reportAdBreakStarted(n.Constants.AdType.CLIENT_SIDE,n.Constants.AdPlayer.CONTENT,o),s.podStartSent=!0)},this.onContentResumeRequested=function(){s.allAdsCompleted=!1,s.convivaAdAnalytics&&s.isAdBreakEnabled&&s.podStartSent&&(s.convivaAdAnalytics.reportAdBreakEnded(),s.podStartSent=!1,s.podIndex++,s.podPosition=null),s.contentPauseRequested=!1},this.onAdStart=function(o){var e;s.convivaAdAnalytics&&(e=s.getConvivaAdMetadata(o.getAd()),s.convivaAdAnalytics.reportAdStarted(e),s.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.RESOLUTION,o.getAd().getVastMediaWidth(),o.getAd().getVastMediaHeight()),s.convivaAdAnalytics.reportAdMetric(n.Constants.Playback.BITRATE,o.getAd().getVastMediaBitrate()))},this.onAdLogError=function(){},this.getConvivaAdMetadata=function(o){var e,g,i={};i[n.Constants.MODULE_NAME]="Google IMA",i[n.Constants.MODULE_VERSION]="4.0.10",i[n.Constants.FRAMEWORK_NAME]="Google IMA SDK","undefined"!=typeof google&&google&&(i[n.Constants.FRAMEWORK_VERSION]=""+google.ima.VERSION),i[n.Constants.ASSET_NAME]=o.getTitle(),i[n.Constants.STREAM_URL]=o.getMediaUrl(),i[n.Constants.DURATION]=o.getDuration();try{var t=s.convivaAdAnalytics.getPlayerMonitor().getContentMetadata(),l=s.convivaAdAnalytics.getAdPlayerMonitor().getContentMetadata();t&&l?t.streamType!==n.Constants.StreamType.UNKNOWN&&l.streamType===n.Constants.StreamType.UNKNOWN&&(i[n.Constants.IS_LIVE]=t.streamType):t&&t.streamType!==n.Constants.StreamType.UNKNOWN&&(i[n.Constants.IS_LIVE]=t.streamType)}catch(o){i[n.Constants.IS_LIVE]=n.Constants.StreamType.UNKNOWN}t=o.getWrapperAdIds()&&0!==o.getWrapperAdIds().length?(l=o.getWrapperAdIds().length,e=o.getWrapperAdSystems()[l-1],g=o.getWrapperAdIds()[l-1],o.getWrapperCreativeIds()[l-1]):(e=o.getAdSystem(),g=o.getAdId(),o.getCreativeId());l=0===o.getAdPodInfo().getPodIndex()?"Pre-roll":-1===o.getAdPodInfo().getPodIndex()?"Post-roll":"Mid-roll";return i["c3.ad.id"]=""+o.getAdId(),i["c3.ad.creativeId"]=""+o.getCreativeId(),i["c3.ad.technology"]="Client Side",i["c3.ad.system"]=""+o.getAdSystem(),i["c3.ad.sequence"]=""+o.getAdPodInfo().getAdPosition(),i["c3.ad.mediaFileApiFramework"]=""+o.getApiFramework(),i["c3.ad.advertiser"]=""+o.getAdvertiserName(),i["c3.ad.position"]=l,i["c3.ad.adManagerName"]="Google IMA SDK","undefined"!=typeof google&&google&&(i["c3.ad.adManagerVersion"]=""+google.ima.VERSION),i["c3.ad.firstAdSystem"]=""+e,i["c3.ad.firstAdId"]=""+g,i["c3.ad.firstCreativeId"]=""+t,i["c3.ad.univAdIdReg"]=void 0===o.getUniversalAdIds()||0===o.getUniversalAdIds().length||0<o.getUniversalAdIds().length&&void 0===o.getUniversalAdIds()[0].getAdIdRegistry()||0<o.getUniversalAdIds().length&&"unknown"===o.getUniversalAdIds()[0].getAdIdRegistry()?"NA":""+o.getUniversalAdIds()[0].getAdIdRegistry(),i["c3.ad.univAdIdVal"]=void 0===o.getUniversalAdIds()||0===o.getUniversalAdIds().length||0<o.getUniversalAdIds().length&&void 0===o.getUniversalAdIds()[0].getAdIdValue()||0<o.getUniversalAdIds().length&&"unknown"===o.getUniversalAdIds()[0].getAdIdValue()?"NA":""+o.getUniversalAdIds()[0].getAdIdValue(),i},this.handleAdError=function(o){if(o)switch(o.getType()){case google.ima.AdError.Type.AD_PLAY:s.handleAdPlayError(o);break;case google.ima.AdError.Type.AD_LOAD:s.handleAdLoadError(o)}},this.handleAdPlayError=function(o){s.reportAdFailed(o,"Ad Play Error")},this.handleAdLoadError=function(o){s.reportAdFailed(o,"Ad Load Error")},this.reportAdFailed=function(o,e){var g={};g[n.Constants.ASSET_NAME]=e,g[n.Constants.IS_LIVE]=n.Constants.StreamType.VOD,g["c3.ad.technology"]="Client Side",g["c3.ad.adManagerName"]="Google IMA SDK","undefined"!=typeof google&&google&&(g["c3.ad.adManagerVersion"]=""+google.ima.VERSION),s.convivaAdAnalytics.reportAdFailed(function(o){var e;o.getType&&"function"==typeof o.getType&&o.getType()&&(e="Type: "+o.getType());o.getErrorCode&&"function"==typeof o.getErrorCode&&o.getErrorCode()&&(e?e+=", Code: "+o.getErrorCode():e="Code: "+o.getErrorCode());o.getMessage&&"function"==typeof o.getMessage&&o.getMessage()&&(e?e+=", Message: "+o.getMessage():e="Message: "+o.getMessage());e=e||o.toString()||"Ad Request Failed";return e}(o),g)},s.adsLoader=o,s.adManagerInfo=e,s.adsManager=null,s.convivaAdAnalytics=g,s.podIndex=1,s.podPosition=null,s.registerAdsLoaderListeners(),s.currentPodIndex=0,this.cleanup=function(){if(s.adsLoader&&(s.adsLoader.removeEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,s.adsManagerLoadedBind,!1,s),s.adsLoader.removeEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,s.onAdsLoaderErrorBind,!1,s)),s.adsManager)for(var o in s.adsManager.removeEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,s.onAdsManagerErrorBind,!1,s),s.events)s.adsManager.removeEventListener(s.events[o],s.onAdEventBind,!1,s);s.adsLoader=null,s.adManagerInfo=null,s.adsManager=null}}t.AdProxyMonitor={o:null,release:function(){this.o&&this.o.cleanup()},initConvivaDropIn:function(o,e,g,i){if(o)return this.o=new t.Impl.GoogleImaProxy(o,e,g,i),this.o;throw new Error("No Ad Manager proxy initialized")}},void 0!==t&&(t.Impl=t.Impl||{},t.Impl.GoogleImaProxy=o)}(),t});