本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 请求。支持的字段:url、method、headers.<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 请求使用原始会话和请求参数发送,无需修改。