所以这是我过去几天一直在思考的一个问题:
我有一个 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
只需将第一个 URL 或第二个 URL 粘贴到 VAST 标记文本框中,然后点击“测试广告”按钮。
在视频播放器下方,有一个日志控制台。在日志中,您将能够看到对于第一个链接,它返回一个错误,对于第二个链接,它工作正常!
我无法确定动态提供 XML 与提供 XML 文件之间的区别。