在谷歌 IMA 广告中查找广告状态已完成或已跳过?

问题描述

我需要了解广告被跳过或完成的天气。也开始或加载和/或单击。我对谷歌的开发文档感到困惑。我需要得到这样的东西,

if (google.ima.AdEvent.Type.COMPLETE){
    console.log("Ad has been completed")
}

如果有这样的东西吗?

解决方法

google.ima.AdEvent 包括“SKIPPED”和“COMPLETE”等(有关完整参考列表,请参阅 here)。您可以使用附加到 adsManager 实例的事件侦听器跟踪这些 adEvent.type 中的每一个(详细信息 here):

//get ads manager
adsManager = adsManagerLoadedEvent.getAdsManager(
        videoContent,adsRenderingSettings); 

//add eventlistener
adsManager.addEventListener(google.ima.AdEvent.Type.LOADED,onAdEvent);
adsManager.addEventListener(google.ima.AdEvent.Type.SKIPPED,onAdEvent);
adsManager.addEventListener(google.ima.AdEvent.Type.STARTED,onAdEvent);
adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE,onAdEvent);

//adEvent function
function onAdEvent(adEvent) {
  var ad = adEvent.getAd();
  switch (adEvent.type) {
    case  google.ima.AdEvent.Type.LOADED:
      console.log('loaded');
      break;
    case  google.ima.AdEvent.Type.STARTED:
      console.log('started');
      break;
    case  google.ima.AdEvent.Type.COMPLETE:
      console.log('complete');
      break;
    case  google.ima.AdEvent.Type.SKIPPED:
      console.log('skipped');
      break;
  }
}

您可以下载工作示例和详细示例 here(特别是“简单”示例)。