1

プレロール ビデオを組み込んだカスタム HTML5 ビデオ プレーヤーを開発しています。現在、Google IMA SDK を実装していて、いくつかの問題が発生しています。

統合ドキュメントはこちら: https://developers.google.com/interactive-media-ads/docs/sdks/googlehtml5_ads

私が理解していないのは、requestAds および onAdsLoaded 関数を実際に呼び出しているものです。それは簡単なように思えますが、何かが欠けているに違いありません。

ここでソースを見ることができます: http://jsfiddle.net/cncpts/SZ895/1/

4

1 に答える 1

3

私はそれを理解することができました、実際にはかなり簡単です。requestAd関数からイベントリスナーとadrequestを削除しました。これが最終的なスクリプトです。

<script src="http://www.google.com/uds?file=ima&v=1&nodependencyload=true"></script>
<script>

var adsManager;
var adsLoader;
var clickTrackingOverlay = document.getElementById('clickTrackingOverlay');
var videoElement = document.getElementById('myVideoElement');   
var adsLoader = new google.ima.AdsLoader();  

  // Add event listeners
adsLoader.addEventListener(
    google.ima.AdsLoadedEvent.Type.ADS_LOADED,
    onAdsLoaded,
    false);
adsLoader.addEventListener(
    google.ima.AdErrorEvent.Type.AD_ERROR,
    onAdError,
    false);

   // Create request object
   var adsRequest = {
      adTagUrl: "http://ad.doubleclick.net/pfadx/AngelaSite;kw=html5linearnonlinear;sz=300x300;ord=5036130;dcmt=text/xml",
      adType: "video"
    };

  // Make request
  adsLoader.requestAds(adsRequest);

  function onAdsLoaded(adsLoadedEvent) {
    // Get the ads manager
    adsManager = adsLoadedEvent.getAdsManager();
    adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError);

    // Listen and respond to events which require you to pause/resume content
    adsManager.addEventListener(
        google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
        onPauseRequested);
    adsManager.addEventListener(
        google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
        onResumeRequested);

    // Set a visual element on which clicks should be tracked for video ads
    adsManager.setClickTrackingElement(clickTrackingOverlay);
    try {
      // Call play to start showing the ad.
      adsManager.play(videoElement);
    } catch (adError) {
      // An error may be thrown if there was a problem with the VAST response.
    }
  }

  function onAdError(adErrorEvent) {
    // Handle the error logging.
    console.log(adErrorEvent.getError());
  }

  function onPauseRequested() {
    videoElement.pause();
    // Setup UI for showing ads (e.g. display ad timer countdown,
    // disable seeking, etc.)
    // setupUIForAd();
  }

  function onResumeRequested() {
    // Setup UI back for showing content.
    // setupUIForContent();
    videoElement.play();
  }

</script>
于 2012-05-31T16:33:23.243 に答える