如何手动触发HTML5 IMA SDK Click事件?

How to trigger HTML5 IMA SDK Click event manually?

我正在使用 HTML5 IMA SDK,我想以编程方式触发 sdk 的点击事件,或者如果这不可能,我想提取点击率 URL。我提供的 clickTrackingElement 是一个锚标记。我想要实现的最终结果是一个能够打开 ima sdk 广告的 link 的锚标记。该锚标记位于以下 html 的 adContainer 或 mainContainer 之外,用于设置 ima sdk 广告容器及其备用播放器。

<div id="mainContainer">
    <div id="content">
        <video id="externalAdVideo"></video>
    </div>
    <div id="adContainer"></div>
</div>

我尝试使用以下代码激活 CustomPlayback 和 CustomClickTracking

this.adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoElement, clickTrackingElement);

但是当我使用以下代码检查是否启用了其中一个时

console.log('ima.adsManager.isCustomPlaybackUsed: ' + ima.adsManager.isCustomPlaybackUsed());
console.log('ima.adsManager.isCustomClickTrackingUsed: ' + ima.adsManager.isCustomClickTrackingUsed());

它们都返回 false,我是不是漏掉了什么?

SDK 禁止 提取点击率URL。它最近混淆了相应的方法。参见:

看起来你至少可以找到这样的 clickThroughUrl(使用 ima 版本 3.145.0 测试):

ima.adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, function (event) {
    var ad = event.getAd(),
            key = Object.keys(ad)[0] || null;

    if (key && ad[key]) {
        console.log('ClickThroughUrl: ' + ad[key].clickThroughUrl);
    }
});