非常感谢您回答这个问题!
无论如何,这是我第一次看到VAST标签。现在,我们的想法是在没有或使用常规播放器的情况下运行/实现它。使用JavaScript事件可以做到这一点吗?究竟是怎么回事?
标签如下所示: http://example.com/www/delivery/vst.php?zoneid=000&id=website
<VAST version="2.0">
<Ad id="VPAID">
<InLine>
<AdSystem version="1.0">AD COMPANY</AdSystem>
<AdTitle>VPAID Ad Manager</AdTitle>
<Impression/>
<Creatives>
<Creative sequence="1">
<Linear>
<Duration>00:00:15</Duration>
<MediaFiles>
<MediaFile delivery="progressive" width="640" height="480" scalable="true" type="application/x-shockwave-flash" apiFramework="VPAID">
<![CDATA[
http://example.com/www/admanager/AdManager.swf?zoneid=000&id=website&ft1=10&ft2=40&ft3=5&ft4=30&ft5=0.5&ft6=10&ft7=20&ht1=5&ht2=40&ht3=5&ht4=30&ht5=0.5&ljt=example.com&vtid=v_00000_hashid
]]>
</MediaFile>
<MediaFile delivery="progressive" width="640" height="480" scalable="true" type="application/javascript" apiFramework="VPAID">
<![CDATA[
http://example.com/www/admanager/ad-manager.js#zoneid=000&id=website&ft1=10&ft2=40&ft3=5&ft4=30&ft5=0.5&ft6=10&ft7=20&ht1=5&ht2=40&ht3=5&ht4=30&ht5=0.5&ljt=example.com&vtid=v_00000_hashid
]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
答案 0 :(得分:3)
您可以使用Google的IMA SDK来处理响应的提取和处理。它适用于任何符合标准的VAST或VMAP,而不仅仅是DFP。
如果您愿意,可以在没有视频播放器的情况下使用IMA SDK。我在此处修改了Google的getting started example并删除了视频元素:http://jsbin.com/dosexa/edit?html,css,js,output
广告的容器可以是div:
var adDisplayContainer =
new google.ima.AdDisplayContainer(document.getElementById('adContainer'));
广告管理器需要一个视频元素(或实现某些视频元素API的内容),但这可能是一个空的视频元素:
adsManager = adsManagerLoadedEvent.getAdsManager(document.createElement('video'));
我在那里使用的示例是VPAID,如您的示例所示。有一个视频广告代码已注释掉。
使用与播放器的预构建集成可能仍然更简单。 Google提供plugin包装,以便将SDK与video.js一起使用。
答案 1 :(得分:1)
是的,可以使用HTML5完全在Javascript中实现VAST,而无需专门的播放器。
举个例子,看看videojs-vast-plugin。它使用此project来解析VAST资源,然后使用videojs来实际播放广告。它仅支持预付广告,但可以扩展以添加对其他类型广告的支持。
当然,您可以编写自己的VAST解析库,而不是使用Media Element(以太网视频或音频)来播放实际广告。 VAST不需要Javascript和HTML5中尚未存在的任何内容。