【发布时间】:2015-05-07 10:31:03
【问题描述】:
所以这是我过去几天一直在琢磨的一个问题:
我有一个 nodeJS 应用程序,它执行以下操作:
var VAST = require('vast-xml');
var vast = new VAST();
vast.version = "2.0";
var ad=vast.attachAd({
id : 1
, structure : 'wrapper'
, sequence : 99
, Error: 'http://error.err'
, VASTAdTagURI : 'http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml'
, AdTitle : 'Common name of the ad'
, AdSystem : { name: 'Test Ad Server', version : '1.0' }
});
response.setHeader('Content-Length', Buffer.byteLength(vast.xml()));
response.setHeader('Connection', 'close');
response.writeHead( 200, {'content-type': 'text/xml; charset=UTF-8'} );
response.end(vast.xml());
下面是调用上述代码的 URL: http://tag.sprtad.com/?ttj=4 返回的 XML 是:
<VAST version="2.0">
<Ad id="1" sequence="99">
<Wrapper>
<AdSystem version="1.0">Test Ad Server</AdSystem>
<VASTAdTagURI>
<![CDATA[http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml ]]>
</VASTAdTagURI>
<Error>
<![CDATA[http://error.err ]]>
</Error>
<Creatives />
</Wrapper>
</Ad>
</VAST>
现在,这是一个返回完全相同 XML 的 文件:http://serve.sprtad.com/test.xml
问题来了:
我正在使用这个 VAST-Validator 来确保 XML 有效: https://developers.google.com/interactive-media-ads/docs/vastinspector_dual
只需将第一个网址或第二个网址粘贴到 VAST 代码文本框中,然后点击“测试广告”按钮。
在视频播放器下方,有一个日志控制台。 在日志中您将能够看到,对于第一个链接,它返回一个错误,对于第二个链接,它工作正常!
我无法确定动态提供 XML 与提供 XML 文件之间的区别。
【问题讨论】:
-
除非您在发布此问题后进行了更改,否则动态提供的文件和静态文件是非常不同的。让他们发送相同的 XML 将是一个不错的起点。