マウスクリックをトラッキングする

IMA SDK を使用する場合、コンテンツ動画プレーヤーと広告プレーヤーの 2 つの動画プレーヤーが存在します。SDK は、コンテンツ動画プレーヤーの上に広告プレーヤーをオーバーレイすることを自動的に管理します。そのため、動画プレーヤーにイベント リスナーを直接追加することはできません。回避策として、広告コンテナを表示したり非表示にしたりすることもできますが、この方法は SDK の機能に干渉する可能性があります。より良い解決策は、両方のプレーヤーを親 div にラップし、それにイベント リスナーをアタッチすることです。このガイドでは、その方法について説明します。

前提条件

  • IMA HTML5 SDK が統合された HTML5 動画プレーヤー。まだ設定していない場合は、IMA SDK を設定するをご覧ください。

HTML を変更する

まず、HTML を変更して、広告プレーヤーとコンテンツ動画プレーヤーの両方をラップする div を追加する必要があります。[IMA SDK を設定する] では、mainContainer によってすでに設定されています。

...
<div id="mainContainer">
  <div id="content">
    <video id="contentElement">
      <source src="https://storage.googleapis.com/gvabox/media/samples/stock.mp4">
    </video>
  </div>

  <div id="adContainer"></div>
</div>
...

JavaScript にイベント リスナーを追加する

次に、ユーザーが動画をクリックしたことを検出するなどの、イベント リスナーを JavaScript コードに追加します。たとえば、ads.js では次のようになります。

...
function init() {
  videoContent = document.getElementById('contentElement');
  mainContainer = document.getElementById('mainContainer');
  mainContainer.addEventListener('click', function() { alert('I was clicked!');});
  ...
}
...

これで、動画をクリックすると、広告の再生中かどうかにかかわらずポップアップが表示され、広告のクリックスルーが機能します。

試してみる

動作する実装は次のとおりです。