

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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
   ```

**重要**  
初期化時に指定できるパラメータは 1 回のみです。設定エイリアスは、転送前に実際の値に解決されます。

**セッションとプレイヤーの情報を 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 (サーバー) のどちらがセッションの広告追跡レポートを提供するかが決まります。これらの 2 つのオプションについては、「[広告追跡データの報告](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 の変数をセッションデータとプレイヤーの`ads`パラメータ AWS Elemental MediaTailor に置き換えます。プレイヤーからの残りのパラメータは、オリジンサーバーに渡されます。

**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]
  ```