没有(标准)播放器运行VAST?

时间:2015-12-15 08:32:14

标签: javascript video html5-video ads vast

非常感谢您回答这个问题!

无论如何,这是我第一次看到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>

2 个答案:

答案 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中尚未存在的任何内容。