

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

# MediaTailor 將參數傳遞至 ADS
<a name="passing-paramters-to-the-ads"></a>

AWS Elemental MediaTailor 支援使用下列步驟在對 ADS 的 MediaTailor 請求中設定動態變數。
+ 如需查詢參數支援格式的資訊，請參閱 [MediaTailor 參數參考和限制](parameter-comprehensive-reference.md)。
+ 如需組態別名和網域變數，請參閱 [MediaTailor 組態別名概觀](configuration-aliases-overview.md)。
+ 如需 ADS 請求的其他自訂，請參閱 [進階用量](#variables-advanced-usage)。

**工作階段初始化方法**  
MediaTailor 支援多種工作階段初始化和參數傳遞方法：

1. **具有請求內文的 POST：**

   ```
   POST <master>.m3u8
   {
       "adsParams": {"param1": "value1", "param2": "value2"},
       "playerParams": {"param3": "value3"}
   }
   ```

1. **URL 中的查詢參數：**

   ```
   GET <master>.m3u8?ads.param1=value1&ads.param2=value2&playerParams.param3=value3
   ```

**重要**  
初始化時，您只能指定參數一次。組態別名會在轉送之前解析為實際值。

**將工作階段和播放器資訊傳遞至 ADS**

1. 使用 ADS 來判斷回應廣告查詢所需的資訊 AWS Elemental MediaTailor。

1. 在 MediaTailor 中建立組態，該組態使用符合 ADS 要求的範本 ADS 請求 URL。在 URL 中，包括靜態參數並包括動態參數的預留位置。在組態的 **Ad decision server (廣告決策伺服器)** 欄位中輸入您的範本 URL。

   在下列範例範本 URL 中，`correlation` 會提供工作階段資料，並且 `deviceType` 提供播放器資料：

   ```
   https://my.ads.server.com/path?correlation=[session.id]&deviceType=[player_params.deviceType]
   ```

1. 在播放器上，設定 AWS Elemental MediaTailor 的工作階段啟動請求，以提供播放器資料的參數。在工作階段啟動請求中包含您的參數，並在工作階段的後續請求中省略它們。

   播放器初始化工作階段的呼叫類型會決定播放器 （用戶端） 或 MediaTailor （伺服器） 是否提供工作階段的廣告追蹤報告。如需關於這兩個選項的詳細資訊，請參閱[報告廣告追蹤資料](ad-reporting.md)。

   根據您需要的是伺服器或用戶端廣告追蹤報告，進行以下其中一個類型的呼叫。在這兩個範例呼叫中，`userID` 預期用於 ADS 和 `auth_token` 預期用於來源：
   + （選項） 呼叫伺服器端廣告追蹤報告 - 使用 為您希望 MediaTailor 傳送至 ADS 的參數加上字首`ads`。對於您希望 MediaTailor 傳送至原始伺服器的參數，請保留字首：

     下列範例顯示對 的 HLS 和 DASH 傳入請求 AWS Elemental MediaTailor。MediaTailor 會在對 ADS 的請求`deviceType`中使用 ，並在對原始伺服器的請求`auth_token`中使用 。

     HLS 範例：

     ```
     GET master.m3u8?ads.deviceType=ipad&auth_token=kjhdsaf7gh
     ```

     DASH 範例：

     ```
     GET manifest.mpd?ads.deviceType=ipad&auth_token=kjhdsaf7gh
     ```
   + （選項） 呼叫用戶端廣告追蹤報告 – 在 `adsParams` 物件內提供 ADS 的參數。

     HLS 範例：

     ```
     POST master.m3u8
         {
             "adsParams": {
                "deviceType": "ipad"
            }
         }
     ```

     DASH 範例：

     ```
     POST manifest.mpd
         {
             "adsParams": {
                "deviceType": "ipad"
            }
         }
     ```

當玩家啟動工作階段時， 會將範本 ADS 請求 URL 中的變數 AWS Elemental MediaTailor 取代為工作階段資料和玩家的`ads`參數。它會從播放器將其餘的參數傳遞至原始伺服器。

**Example 具有廣告變數的 MediaTailor 請求**  
以下範例顯示從對應於前述播放器的工作階段初始化呼叫範例的 AWS Elemental MediaTailor 對 ADS 和原始伺服器的呼叫：  
+ MediaTailor 會使用工作階段資料和播放器的裝置類型呼叫 ADS：

  ```
  https://my.ads.server.com/path?correlation=896976764&deviceType=ipad
  ```
+ MediaTailor 會使用玩家的授權字符呼叫原始伺服器。
  + HLS 範例：

    ```
    https://my.origin.server.com/master.m3u8?auth_token=kjhdsaf7gh
    ```
  + DASH 範例：

    ```
    https://my.origin.server.com/manifest.mpd?auth_token=kjhdsaf7gh
    ```

## 進階用量
<a name="variables-advanced-usage"></a>

您可以用多種方式來自訂 ADS 請求，以搭配播放器和工作階段資料。您只需要包含 ADS 主機名稱。

以下範例顯示您可以自訂您的請求的一些方式：
+ 串聯播放器參數和工作階段參數來建立新的參數。範例：

  ```
  https://my.ads.com?key1=[player_params.value1][session.id]
  ```
+ 使用播放器參數做為路徑元素的一部分。範例：

  ```
  https://my.ads.com/[player_params.path]?key=value
  ```
+ 使用播放器參數來同時傳遞路徑元素和索引鍵本身，而不只是值。範例：

  ```
  https://my.ads.com/[player_params.path]?[player_params.key1]=[player_params.value1]
  ```