如何手动触发 HTML5 IMA SDK 点击事件?
Posted
技术标签:
【中文标题】如何手动触发 HTML5 IMA SDK 点击事件?【英文标题】:How to trigger HTML5 IMA SDK Click event manually? 【发布时间】:2016-04-19 08:46:11 【问题描述】:我正在使用 html5 IMA SDK,我想以编程方式触发 sdk 的点击事件,或者如果这不可能,我想提取点击 URL .我提供的 clickTrackingElement 是一个锚标记。我想要实现的最终结果是一个能够打开 ima sdk 广告链接的锚标记。该锚标记位于 adContainer 或以下用于设置 ima sdk 广告容器及其备用播放器的 html 中的 mainContainer 之外。
<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,我错过了什么吗?
【问题讨论】:
【参考方案1】:看起来你至少可以找到这样的 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);
);
【讨论】:
更优雅的方式:adEvent.getAdData().clickThroughUrl
在版本 3.482.0 中为我工作【参考方案2】:
SDK禁止提取点击后到达网址。它最近混淆了相应的方法。见:
Disappearance of google.ima.Ad.getClickThroughUrl() in HTML5 IMA SDK【讨论】:
以上是关于如何手动触发 HTML5 IMA SDK 点击事件?的主要内容,如果未能解决你的问题,请参考以下文章