这个问题的答案将非常感谢!
无论如何,这是我第一次看到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>
解决方法
您可以使用Google的
IMA SDK来处理提取和处理响应.它适用于任何符合标准的VAST或VMAP,而不仅仅是DFP.
如果您需要,您可以使用没有视频播放器的IMA SDK.我在这里修改了Google的getting started example,并删除了视频元素:http://jsbin.com/dosexa/edit?html,output
广告的容器可以是div:
var adDisplayContainer = new google.ima.AdDisplayContainer(document.getElementById('adContainer'));
广告管理员需要一个视频元素(或实现视频元素API的某些内容),但这可以是一个空的视频元素:
adsManager = adsManagerLoadedEvent.getAdsManager(document.createElement('video'));
我在那里使用的示例是VPAID,如您的示例.有一个视频广告代码注释掉了.
使用与播放器的预构建集成可能仍然更简单. Google提供了一个plugin包装器,将SDK与video.js一起使用.