本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用玩家变量
要配置 AWS Elemental MediaTailor 要将从玩家那里收到的数据发送到ADS,请在模板ADSURL中指定player_params.<query_parameter_name>
变量。例如,如果玩家向发送请求user_id
中名为的查询参数 MediaTailor,则要在请求中传递该数据,ADS请将其包含[player_params.user_id]
在ADSURL配置中。
这使您可以控制ADS请求中包含的查询参数。通常,您可以向ADS请求中添加一个特殊ADS的查询参数,URL并提供键值对作为参数的值。
以下过程中使用的示例将使用以下键-值对:
-
值为 1 的 param1:
-
值为 2 的 param2:
添加查询参数作为键-值对
-
In AWS Elemental MediaTailor,配置ADS请求模板URL以引用参数。以下URL显示了示例参数的包含情况:
https://my.ads.com/path?param1=[player_params.param1]¶m2=[player_params.param2]
-
(可选)对于服务器端广告跟踪报告,请在播放器上对键值对进行 URL-编码。当 MediaTailor 收到会话初始化请求时,它会对值进行一次URL解码,然后再将其替换到请求中。ADS URL
注意
如果你ADS需要一个 URL-URL encoded 的值,请在播放器上对该值进行两次-编码。这样,由完成的解码会 MediaTailor 生成一个曾经编码过的值。ADS
例如,如果发送到的值的解码表示形式ADS为
param1=value1:¶m2=value2:
,则URL编码后的表示形式为。param1=value1%3A¶m2=value2%3A
-
在来自玩家的会话初始化调用中,将键值对 MediaTailor 作为单个查询参数的值传递给。以下示例调用将为服务器端和客户端广告跟踪报告提供示例键-值对。
-
服务器端广告跟踪报告请求示例-使用编码对进行编码 URL
HLS:
<master>.m3u8?ads.param1=value1%3A&ads.param2=value2%3A
DASH:
<manifest>.mpd?ads.param1=value1%3A&ads.param2=value2%3A
-
客户端广告跟踪报告请求示例-不带编码 URL
HLS:
POST <master>.m3u8 { "adsParams": { "param1": "value1:", "param2": "value2:" } }
DASH:
POST <manifest>.mpd { "adsParams": { "param1": "value1:", "param2": "value2:" } }
-
对于服务器端报告,在收到玩家请求时对参数进行 MediaTailor 解码。对于客户端报告,它不会更改JSON有效负载中接收到的参数。 MediaTailor 将以下请求发送到ADS:
https://my.ads.com/<path>?param1=value1:¶m2=value2:
这样,param1
和param2
键值对就作为第一类查询参数包含在请求中。ADS