使用 IMA SDK 时,有两个单独的视频播放器,即内容视频播放器和广告播放器。SDK 会自动管理将广告播放器叠加在内容视频播放器上。因此,直接向视频播放器添加事件监听器是行不通的。一种解决方法是显示和隐藏广告容器,但这可能会干扰 SDK 功能。更好的解决方案是将两个玩家封装在父 div 中,并将事件监听器附加到该父 div。本指南将介绍具体方法。
前提条件
- 集成了 IMA HTML5 SDK 的 HTML5 视频播放器。如果您还没有 IMA SDK,请参阅设置 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!');});
  ...
}
...大功告成!无论是否有广告在播放,您都可以点击视频,然后看到弹出式窗口,并且广告点击仍会有效。
试试看
您可以在下方查看一个可正常运行的实现。