View a markdown version of this page

PRE_ADS_REQUEST - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

PRE_ADS_REQUEST

当它开火时

MediaTailor 在向 ADS 发送请求之前,立即运行映射到每个广告时段PRE_ADS_REQUEST一次的函数。每次在清单处理过程中遇到广告机会时,该函数都会运行。

Input

来自PRE_SESSION_INITIALIZATION、plus avail.* scte.*、和adsRequest.*(url、方法、标题、正文)的所有字段。有关所有可用字段,请参阅输入字段参考

允许输出命名空间

命名空间 可接受的类型 如何使用输出
player_params.* 字符串、数字、布尔值 覆盖此广告时段的会话播放器参数。可通过以下方式获得 ADS 请求网址MediaTailor ADS 请求的动态广告变量
session.* 字符串、数字、布尔值 覆盖此广告时段的会话变量。通过动态变量替换可用于 ADS 请求网址。
avail.* 字符串、数字、布尔值 覆盖此广告时段的可用变量。通过动态变量替换可用于 ADS 请求网址。
scte.* 字符串、数字、布尔值 覆盖此广告时段的 SCTE 变量。通过动态变量替换可用于 ADS 请求网址。
adsRequest.* 字符串 仅覆盖针对此广告时段的 ADS 请求。支持的字段:urlmethodheaders.<name>body。该url值被视为模板,并在函数运行MediaTailor ADS 请求的动态广告变量后支持。没有坚持下去。
注意

PRE_ADS_REQUEST挂钩的所有输出都是瞬态覆盖,它们仅适用于当前广告插播时间点的 ADS 请求,不会保留到会话中。

示例 — 重写 ADS 请求:

{ "Output": { "adsRequest.url": "{%'https://ads.example.com/v1/vast?sid=' & session.id & '&genre=' & player_params.genre%}", "adsRequest.headers.X-Custom-Token": "{%player_params.auth_token%}" } }

这将取代广告网址,并为当前广告插播时间添加自定义标题。

典型用例

  • 重写 ADS 请求网址,以便在不同的广告服务器之间路由流量以进行 A/B 测试。

  • 将丰富数据(受众细分、身份令牌)附加到 ADS 请求网址或标头。

  • 根据 SCTE-35 信号数据或可用索引有条件地修改 ADS 请求参数。

失败行为

如果附加到的函数因任何原因PRE_ADS_REQUEST失败,则 MediaTailor 丢弃该函数的输出并像未附加任何函数一样继续前进。ADS 请求使用原始会话和请求参数发送,无需修改。