

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ADS 請求的 MediaTailor 播放器變數
<a name="variables-player"></a>

AWS Elemental MediaTailor 當您設定 在範本 ADS URL 中 AWS Elemental MediaTailor 指定`player_params.<query_parameter_name>`變數時， 會將從播放器接收的資料傳送至 ADS。例如，如果玩家在其請求`user_id`中將名為 的查詢參數傳送至 MediaTailor，若要在 ADS 請求中傳遞該資料，請在 ADS URL 組態`[player_params.user_id]`中包含 。

這可讓您控制 ADS 請求中包含的查詢參數。一般而言，您會新增 ADS 可辨識的特殊查詢參數至 ADS 請求 URL，並提供索引鍵-值組做為參數的值。

以下程序中使用的範例會使用以下索引鍵-值組：
+ *param1* 具有值 *value1:*
+ *param2* 具有值 *value2:*

**新增查詢參數做為索引鍵-值組** 

1. 在 中 AWS Elemental MediaTailor，設定 ADS 請求範本 URL 以參考參數。以下 URL 示範包含範例參數：

   ```
   https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]
   ```

1. (選用) 針對伺服器端廣告追蹤報告，將播放器上的索引鍵-值組以 URL 編碼。當 MediaTailor 收到工作階段初始化請求時，它會先將值解碼一次，再將其替換為 ADS 請求 URL。
**注意**  
如果您的 ADS 需要 URL 編碼的值，請在播放器上將該值以 URL 編碼兩次。如此一來，MediaTailor 完成的解碼會產生 ADS 的一次性編碼值。

   例如，如果傳送到 ADS 的值經解碼的表示為 `param1=value1:&param2=value2:`，則 URL 編碼的表示為 `param1=value1%3A&param2=value2%3A`。

1. 在來自播放器的工作階段初始化呼叫中，將金鑰/值對傳遞至 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:&param2=value2:
```

以此方式，`param1` 和 `param2` 索引鍵-值組會包含在 ADS 請求中做為第一級查詢參數。