1let adsManagerBanner, adsLoaderBanner, adDisplayContainerBanner, videoContentBanner, adsInitializedBanner, autoplayAllowedBanner, autoplayRequiresMutedBanner, contentEndedListenerBanner, localStringFormatBanner; 2 3function initMainSdkBanner(globalVarFormat) { 4 localStringFormatBanner = globalVarFormat; 5 dibujaButtonControlsAndCloseBanner(globalVarFormat); 6} 7 8function dibujaButtonControlsAndCloseBanner(formatType){ 9 10 videoContentBanner = document.getElementById('content_video-'+formatType); 11 12 buttonAudio = document.getElementById('audioButton-'+formatType+''); 13 buttonMute = document.getElementById('muteButton-'+formatType+''); 14 15 buttonAudio.addEventListener('click',() => {onAudioRequestBanner(formatType);}); 16 buttonMute.addEventListener('click', () => {onMuteRequestBanner(formatType);}); 17 18 setupImaBanner(); 19 checkAutoplaySupportBanner(); 20 21} 22 23 24function checkAutoplaySupportBanner() { 25 var playPromise = videoContentBanner.play(); 26 if (playPromise !== undefined) { 27 playPromise.then(onAutoplayWithSoundSuccessBanner).catch(onAutoplayWithSoundFailBanner); 28 } 29} 30 31function onAutoplayWithSoundSuccessBanner() { 32 autoplayAllowedBanner = true; 33 autoplayRequiresMutedBanner = false; 34 autoplayChecksResolvedBanner(); 35} 36 37function onAutoplayWithSoundFailBanner() { 38 checkMutedAutoplaySupportBanner(); 39} 40 41function checkMutedAutoplaySupportBanner() { 42 videoContentBanner.volume = 0; 43 videoContentBanner.muted = true; 44 var playPromise = videoContentBanner.play(); 45 if (playPromise !== undefined) { 46 playPromise.then(onMutedAutoplaySuccess).catch(onMutedAutoplayFail); 47 } 48} 49 50function onMutedAutoplaySuccess() { 51 autoplayAllowedBanner = true; 52 autoplayRequiresMutedBanner = true; 53 autoplayChecksResolvedBanner(); 54} 55 56function onMutedAutoplayFail() { 57 autoplayAllowedBanner = false; 58 autoplayRequiresMutedBanner = false; 59 autoplayChecksResolvedBanner(); 60} 61 62function autoplayChecksResolvedBanner() { 63 var adsRequestBanner = new google.ima.AdsRequest(); 64 adsRequestBanner.adTagUrl = urlTagBanner; 65 66 adsRequestBanner.setAdWillAutoPlay(autoplayAllowedBanner); 67 adsRequestBanner.setAdWillPlayMuted(autoplayRequiresMutedBanner); 68 adsLoaderBanner ? adsLoaderBanner.requestAds(adsRequestBanner):null; 69} 70 71function setupImaBanner() { 72 createAdDisplayContainerBanner(); 73 74 adsLoaderBanner = new google.ima.AdsLoader(adDisplayContainerBanner); 75 adsLoaderBanner.getSettings().setDisableCustomPlaybackForIOS10Plus(true); 76 adsLoaderBanner.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoadedBanner, false); 77 adsLoaderBanner.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdErrorBanner, false); 78 contentEndedListenerBanner = function() {adsLoaderBanner.contentComplete();}; 79 80} 81 82function createAdDisplayContainerBanner() { 83 adDisplayContainerBanner = new google.ima.AdDisplayContainer(document.getElementById('ima-'+localStringFormatBanner+''), videoContentBanner); 84} 85 86function onAdsManagerLoadedBanner(adsManagerLoadedEvent) { 87 88 let adsRenderingSettingsBanner = new google.ima.AdsRenderingSettings(); 89 adsRenderingSettingsBanner.restoreCustomPlaybackStateOnAdBreakComplete = true; 90 91 adsManagerBanner = adsManagerLoadedEvent.getAdsManager(videoContentBanner, adsRenderingSettingsBanner); 92 93 adsManagerBanner.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdErrorBanner); 94 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,onContentPauseRequested); 95 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,onContentResumeRequestedBanner); 96 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED,onAdEventBanner); 97 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEventBanner); 98 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEventBanner); 99 adsManagerBanner.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEventBanner); 100 101 adsManagerBanner.setVolume(0); 102 103 try { 104 adDisplayContainerBanner.initialize(); 105 adsInitializedBanner = true; 106 adsManagerBanner.init(widthBanner, heightBanner, google.ima.ViewMode.NORMAL); 107 adsManagerBanner.start(); 108 } catch (adError) { 109 videoContentBanner.play(); 110 } 111} 112 113function onAdEventBanner(adEvent) { 114 115 var ad = adEvent.getAd(); 116 117 let varCompruebaElement = document.getElementById('ima-player-rudo'); 118 119 switch (adEvent.type) { 120 case google.ima.AdEvent.Type.LOADED: 121 console.info("Loaded Banner"); 122 if (!ad.isLinear()) { 123 videoContentBanner.play(); 124 } 125 break; 126 case google.ima.AdEvent.Type.STARTED: 127 console.info("Started Banner"); 128 129 adsManagerBanner.getVolume() === 0 ? document.getElementById('muteButton-'+localStringFormatBanner+'').style.display ='block': document.getElementById('audioButton-'+localStringFormatBanner+'').style.display ='block'; 130 document.getElementById('video-'+localStringFormatBanner+'').style.display ='table'; 131 document.getElementById('ima-'+localStringFormatBanner+'').style.display ='table'; 132 document.getElementById('contControlsVideo-'+localStringFormatBanner+'').style.display ='block'; 133 break; 134 case google.ima.AdEvent.Type.COMPLETE: 135 console.info("Complete Banner"); 136 document.getElementById('video-'+localStringFormatBanner+'').style.display ='none'; 137 varCompruebaElement ? document.getElementById('ima-player-rudo').style.display ='none':null; 138 procesaSticky(null,null,0,null); 139 break; 140 case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: 141 console.info("ALL_ADS_COMPLETED Banner"); 142 document.getElementById('video-'+localStringFormatBanner+'').style.display ='none'; 143 varCompruebaElement ? document.getElementById('ima-player-rudo').style.display ='none':null; 144 procesaSticky(null,null,0,null); 145 146 break; 147 } 148} 149 150function onAdErrorBanner(adErrorEvent) { 151 if(adsManagerBanner){adsManagerBanner.destroy();} 152} 153 154function onAudioRequestBanner(localStringFormatBanner) { 155 if(adsManagerBanner.getVolume !== 0 ){ 156 adsManagerBanner.setVolume(0); 157 document.getElementById('audioButton-'+localStringFormatBanner+'').style.display ='none'; 158 document.getElementById('muteButton-'+localStringFormatBanner+'').style.display ='block'; 159 } 160} 161 162function onMuteRequestBanner(localStringFormatBanner) { 163 if(adsManagerBanner.getVolume() === 0){ 164 adsManagerBanner.setVolume(1); 165 document.getElementById('audioButton-'+localStringFormatBanner+'').style.display ='block'; 166 document.getElementById('muteButton-'+localStringFormatBanner+'').style.display ='none'; 167 } 168} 169 170function onCloseRequesetBanner(localStringFormatBanner){ 171 172 adsManagerBanner.destroy(); 173 document.getElementById('video-'+localStringFormatBanner+'').style.display='none'; 174} 175 176function onContentPauseRequested() { 177 // videoContentBanner.pause(); 178} 179 180function onContentResumeRequestedBanner() { 181 adsManagerBanner.setVolume(0); 182} 183 184function resizeBanner(width, height) { 185 if(adsManagerBanner){adsManagerBanner.resize(width,height,google.ima.ViewMode.NORMAL)} 186}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.