我正在实现一个事件处理程序,以处理使用IAB标准化视频广告服务模板提供的视频广告的事件回调。
我在记录这些事件时所能找到的就是,它们在VAST模板中被配置为URL。
我必须返回一些有效的HTTP响应,最简单的是没有内容的200。我可以返回其他有效的成功回复吗?特别是,我可以返回302重定向并依赖于正在发生的重定向吗?
编辑:
例如,假设我在VAST标签中配置了以下事件:
<TrackingEvents>
<Tracking event=”firstQuartile”>
<![CDATA[http://adserver.com/firstQuartile]>
</Tracking>
</TrackingEvents>
如果我在adserver.com上实现服务器,并响应对/firstQuartile URI词干的HTTP调用,我可以返回302重定向吗?
您应该只使用200。理论上,你可以发送任何响应代码,但标准不要求视频播放器对此做任何事情。来自VAST 3.0规范的相关章节(第2.2.5节,强调我的):
视频播放器必须向跟踪元素中提供的URI发送请求但是,视频播放器不需要对返回的响应执行任何操作。响应只是为了确认事件并遵守HTTP协议。该响应通常是在响应主体中具有1x1像素图像的200(尽管该响应可以是任何其他类型)。
如果您打算在多个服务器之间共享跟踪事件,VAST规范通过视频播放器必须同时请求的相同类型的多个<Tracking>
事件提供了一种替代方案(第2.3.1.8节):
使用相同种类的多个跟踪事件使得广告服务器能够与其他广告服务系统共享印象跟踪信息,例如广告商所采用的供应商广告服务器。当提供多个相同类型的跟踪事件(即多个"开始"事件)时,视频播放器需要同时或尽可能接近时间请求相同类型的所有事件。请求之间的任何显著延迟都可能导致广告服务系统之间的计数差异。