IAB VAST <包装程序”能否指向包含多个<ad>的VAST?

时间:2019-03-21 20:28:40

标签: ads vast

我正在尝试为VAST文件编写一个小型解析器,以找出所描述的广告休息的“总持续时间”:

  • 如果VAST包含一个<Ad>和一个<InLine>,一个<Creative>和一个<Linear>,则“总持续时间”显然是<Duration>
  • 如果VAST包含两个<Linear>,每个都有一个<Ad>,每个都有两个<InLine>,每个都有一个<Creative>,则“总持续时间”是四个<Linear>中四个<Duration>的总和
  • 如果<Linear>标签包含<Linear>属性,则会忽略此属性并使用完整的持续时间
  • 如果一个skipOffset包含一个<Ad>标记,我将加载<Wrapper>并从中解析出持续时间,以添加到我的“总持续时间”(总持续时间异步返回,因此这是可以接受的-我只是将回调延迟到所有包装程序下载完成

根据VAST 4.0 spec

  • <VASTAdTagURI>只能包含一个<Ad><Wrapper>标签-因此,我不必担心<InLine>拥有多个<Ad>或多个<InLine>
  • <Wrapper>只能包含<Wrapper>个附加跟踪标签,否则可能不包含任何<Linear>个,因此不会直接影响我的时间
  • 一个<MediaFile> 可能包含多个<InLine>,因此我必须添加所有<Creative> s的持续时间
  • 一个<Creative>可能只包含一个<Creative>-因此,我不必担心<Linear>拥有多个<Creative> s
  • 一个<Linear> 必须包含一个<Linear>,并且只能包含一个<Duration>-因此,我不必担心{{1} }没有<Duration>或有多个<Linear>
  • 如果您加载五个<Duration>而没有找到<Duration>,则您可能会(按照规范)抛出错误并拒绝加载更多内容-因此,我不必担心无限循环或从不担心找到一个<Wrapper>

在所有这些限制下,规范中没有提到明确的一件事困扰着我。尽管规范确实说:

  
      
  1. VAST请求:在视频内容播放期间的某个时间点,(在前片前),在中间片中(中间)或之后(后片),播放器到达插入广告并使用HTTP发送广告请求的提示。有关发送广告请求的信息,请参见1.1.1节。该请求将发送到主要广告服务器,该服务器可能是视频发布者的广告服务器或供应方平台(SSP)。
  2.   
  3. *包装器响应:主服务器以VAST响应。该响应是InLine响应或包装器响应。如果服务器可以满足广告请求,则会发送一个内联响应(步骤4)。在许多情况下,广告服务器会使用Wrapper响应将播放器重定向到辅助服务器。
  4.   
  5. 次要VAST请求:如果收到包装器响应,则播放器会向另一台服务器发出次要请求。次要响应可以是InLine响应或其他VAST包装器。
  6.   
  7. 内嵌响应:最终,在一系列请求和响应之后,广告服务器会提供内嵌响应。
  8.   

这听起来像<InLine>,在加载时应该只包含一个<InLine>(可能包含另一个<Wrapper>或可能包含<Ad>)-但是我没有看到任何禁止<Wrapper>包含多个<InLine>的内容。这可能吗?还是我在规格中遗漏了一些东西?

如果一个<Wrapper> 可以 包含多个<Ad>,那么我需要找到一种方法来包含 all 相关的<Wrapper>(原始VAST中的所有<Ad><Ad>中的所有<Ad>)。但是,设想允许这样做会引发许多有关如何处理<Wrapper><Impression>的问题。例如,如果<TrackingEvent>同时包含<Wrapper><Impression>,并且<VASTAdTagURI>的内容包含两个<VASTAdTAgURI>,那么我们是否会ping {播放每个 <Ad>时一次{1}} URL?还是仅在两者 <Impression>播放之后?

0 个答案:

没有答案