

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

# クライアント側の広告追跡
<a name="ad-reporting-client-side"></a>

 AWS Elemental MediaTailor クライアント側の追跡 API を使用すると、広告時間枠中にプレイヤーコントロールをストリーミングワークフローに組み込むことができます。クライアント側の追跡では、プレイヤーまたはクライアントはインプレッションや四分位広告ビーコンなどの追跡イベントを広告決定サーバー (ADS) やその他の広告検証エンティティに発行します。これらのイベントは、全体的な広告時間枠のステータスと、各時間枠内の個々の広告表示の両方を追跡します。インプレッションと四分位数 (ADS) およびその他の広告検証エンティティの詳細については、「」を参照してください。インプレッションと四分位広告ビーコンの詳細については、「」を参照してください[クライアント側のビーコン](ad-reporting-client-side-beaconing.md)。ADS およびその他の広告検証エンティティの詳細については、「」を参照してください[クライアント側の広告追跡統合](ad-reporting-client-side-ad-tracking-integrations.md)。

クライアント側の追跡のためにプレイヤーパラメータとセッションデータを ADS に渡す方法については、[ADS リクエストの MediaTailor プレイヤー変数](variables-player.md)「」および「」を参照してください[ADS リクエストの MediaTailor セッション変数](variables-session.md)。

クライアント側の追跡では、次のような機能が有効になります。
+ 広告ブレークカウントダウンタイマー - 詳細については、「」を参照してください[広告カウントダウンタイマー](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)。
+ 広告クリックスルー - 詳細については、「」を参照してください[広告クリックスルー](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)。
+ コンパニオン広告の表示 - 詳細については、「」を参照してください[コンパニオン広告](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads)。
+ スキップ可能な広告 - 詳細については、「」を参照してください[スキップ可能な広告](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)。
+ プライバシーコンプライアンスの VAST アイコンの表示 - 詳細については、「」を参照してください[Google Why This Ad (WTA) のアイコン](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta)。
+ 広告中のプレイヤースクラブの制御 - 詳細については、「」を参照してください[スクラブ](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing)。

MediaTailor クライアント側の追跡 API を使用すると、クライアント側の追跡に加えて機能を有効にするメタデータを再生デバイスに送信できます。

## クライアント側のレポートワークフロー
<a name="ad-reporting-client-side-workflow"></a>

次の図は、セッションの初期化から広告の再生とビーコンまでのクライアント側のレポートワークフロー全体を示しています。

![\[セッションの初期化から広告の再生とビーコンまでのワークフロー全体における、ビデオプレーヤー、MediaTailor、広告決定サーバー、コンテンツオリジン、広告検証サービス間のインタラクションを示す MediaTailor クライアント側のレポートシーケンス図。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/tracking_flow.png)


クライアント側のレポートワークフローには、次のステップが含まれます。

1. **セッションの初期化** - ビデオプレーヤーは、、オリジントークン`adsParams`、セッション機能などの JSON メタデータを使用して MediaTailor セッションエンドポイントに POST リクエストを送信します。MediaTailor はセッション`trackingUrl`に対して `manifestUrl`と で応答します。

1. **マニフェストリクエストと広告決定** - プレイヤーは MediaTailor にパーソナライズされたマニフェストをリクエストします。MediaTailor は、オリジンから元のコンテンツマニフェストをリクエストし、プレイヤーパラメータを使用して広告決定サーバー (ADS) に広告リクエストを行い、広告メタデータを含む VAST レスポンスを受信し、広告マーカーを含むパーソナライズされたマニフェストをプレイヤーに配信します。

1. **追跡データの取得** - プレイヤーは追跡 URL を定期的にポーリングします (HLS のターゲット期間または DASH の最小更新期間に一致）。MediaTailor は、表示、広告、追跡イベント、ビーコン URLs、広告検証データを含む JSON 追跡メタデータを返します。

1. **広告の再生とビーコン** - 広告ブレーク中に、プレイヤーは追跡メタデータを解析し、広告のレンダリング開始時にインプレッションビーコンを発射し、四分位ビーコン (開始、firstQuartile、中間、thirdQuartile、完了) を適切なタイミングで発射し、必要に応じて広告検証 JavaScript をロードして実行し、表示可能性/検証イベントをサードパーティー検証サービスに送信します。

1. **継続的なポーリング** - プレイヤーはセッション全体で追跡 URL のポーリングを継続し、今後の広告時間枠と動的コンテンツの更新されたメタデータを受け取ります。

このワークフローにより、広告カウントダウンタイマー、クリックスルー機能、コンパニオン広告、スキップ可能な広告、プライバシーコンプライアンスのための VAST アイコン表示などの高度な機能が有効になります。

**Topics**
+ [クライアント側のレポートワークフロー](#ad-reporting-client-side-workflow)
+ [クライアント側の追跡の有効化](#ad-reporting-client-side-enabling)
+ [広告サーバーパラメータ](#ad-reporting-client-side-ad-server-parameters)
+ [オリジンインタラクションクエリパラメータ](#ad-reporting-client-side-origin-interaction-query-parameters)
+ [セッション設定機能](#ad-reporting-client-side-session-configured-features)
+ [クライアント側追跡のベストプラクティス](#ad-reporting-client-side-best-practices)
+ [クライアント側の広告追跡スキーマとプロパティ](ad-reporting-client-side-ad-tracking-schema.md)
+ [広告追跡アクティビティのタイミング](ad-reporting-client-side-ad-tracking-schema-activity-timing.md)
+ [クライアント側の広告追跡のプレイヤーコントロールと機能](ad-reporting-client-side-ad-tracking-schema-player-controls.md)
+ [クライアント側のビーコン](ad-reporting-client-side-beaconing.md)
+ [サーバー側の広告ビーコンを使用したハイブリッドモード](ad-reporting-hybrid-mode.md)
+ [クライアント側の広告追跡統合](ad-reporting-client-side-ad-tracking-integrations.md)
+ [GetTracking を使用した広告ビーコンのページング](#gettracking)

## クライアント側の追跡の有効化
<a name="ad-reporting-client-side-enabling"></a>

セッションごとにクライアント側の追跡を有効にします。プレイヤーは MediaTailor 設定のセッション初期化プレフィックスエンドポイント`POST`に HTTP を作成します。オプションで、プレイヤーは MediaTailor が広告通話を行ったり、マニフェストのオリジンを呼び出したり、セッションレベルで MediaTailor 機能を呼び出したり無効にしたりするときに使用する追加のメタデータを送信できます。

次の例は、JSON メタデータの構造を示しています。

```
{
  "adsParams": {                  # 'adsParams' is case sensitive
    "param1": "value1",           # key is not case sensitive
    "param2": "value2",           # Values can contain spaces. For example, 'value 2' is an allowed value. 
    },
  "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin
  "overlayAvails":"on"            # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level.
}
```

MediaTailor コンソールまたは API を使用して、これらのパラメータを参照するように ADS リクエストテンプレート URL を設定します。次の例では、 `player_params.param1`は のプレイヤーパラメータで`param1`、 `player_params.param2`は のプレイヤーパラメータです`param2`。

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

## 広告サーバーパラメータ
<a name="ad-reporting-client-side-ad-server-parameters"></a>

JSON 構造の最上位レベルには `adsParams` JSON オブジェクトがあります。このオブジェクト内には、MediaTailor がすべてのセッションリクエストで広告サーバーを読み取って送信できるキーと値のペアがあります。MediaTailor は、次の広告サーバーをサポートしています。
+ Google 広告マネージャー 
+ SpringServe 
+ FreeWheel 
+ Publica 

## オリジンインタラクションクエリパラメータ
<a name="ad-reporting-client-side-origin-interaction-query-parameters"></a>

`adsParams`、、 など、JSON 構造の最上位レベル内の予約されたキーと値のペアは`overlayAvails`、クエリパラメータの形式でオリジンリクエスト URL `availSuppression`に追加されません。MediaTailor がオリジンに対して行うすべてのセッションマニフェストリクエストには、これらのクエリパラメータが含まれます。オリジンは無関係なクエリパラメータを無視します。例えば、MediaTailor はキーと値のペアを使用して、オリジンにアクセストークンを送信できます。

## セッション設定機能
<a name="ad-reporting-client-side-session-configured-features"></a>

session-initialization JSON 構造を使用して、、`overlayAvails`、 などの MediaTailor 機能を有効、無効に`availSuppression`、または上書きします`adSignaling`。セッションの初期化中に渡された機能設定は、MediaTailor 設定レベルでの設定よりも優先されます。

**注記**  
セッションの初期化時に MediaTailor に送信されるメタデータはイミュータブルであり、セッション中は追加のメタデータを追加できません。SCTE-35 マーカーを使用して、セッション中に変化するデータを転送します。詳細については、「[ADS リクエストの MediaTailor セッション変数](variables-session.md)」を参照してください。

**Example : HLS のクライアント側の広告追跡の実行**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad"   # This value does not change during the session.
               "uid": "abdgfdyei-2283004-ueu"                     
           }
        }
```

**Example : DASH のクライアント側の広告追跡を実行する**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           }
        }
```

### レポートモードパラメータ
<a name="session-initialization-reporting-mode"></a>

リクエスト本文に `reportingMode`パラメータを含めることで、セッションを初期化するときにレポートモードを指定できます。このパラメータは、MediaTailor がセッションのクライアント側またはサーバー側の広告追跡を実行するかどうかを制御します。
+ `client` - プレイヤーは広告追跡を実行し、ビーコンを広告サーバーに送信します。これは、 が指定されていない場合のデフォルトモード`reportingMode`です。
+ `server` - MediaTailor はサーバー側の広告追跡を実行し、ビーコンを広告サーバーに直接送信します。

**Example サーバー側のレポートモードによるセッションの初期化**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad",
               "uid": "abdgfdyei-2283004-ueu"                     
           },
           "reportingMode": "server"
        }
```

**Example クライアント側のレポートモードによるセッションの初期化 (明示的)**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           },
           "reportingMode": "client"
        }
```

**注記**  
`reportingMode` パラメータはセッションの初期化時に設定され、セッション中に変更することはできません。`reportingMode` を指定しない場合、MediaTailor は下位互換性を維持するためにデフォルトでクライアント側のレポートになります。

正常なレスポンスは、レスポンス本文`200`を含む HTTP です。本文には、 `manifestUrl`と `trackingUrl`キーを含む JSON オブジェクトが含まれています。値は、プレイヤーが再生と広告イベントの追跡の両方の目的で使用できる相対 URLs です。

```
{
  "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id",
  "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id"
}
```

クライアント側の追跡スキーマの詳細については、「」を参照してください[クライアント側の広告追跡スキーマとプロパティ](ad-reporting-client-side-ad-tracking-schema.md)。

## クライアント側追跡のベストプラクティス
<a name="ad-reporting-client-side-best-practices"></a>

このセクションでは、ライブワークフローと VOD ワークフローの両方で MediaTailor でクライアント側を追跡するためのベストプラクティスの概要を説明します。

### ライブワークフロー
<a name="ad-reporting-client-side-best-practices-live"></a>

最新の広告追跡メタデータを常に取得するために、HLS の各ターゲット期間、または DASH の最小更新期間に一致する間隔で追跡エンドポイントをポーリングします。この間隔を一致させることは、クリエイティブにインタラクティブコンポーネントまたはオーバーレイコンポーネントがあるワークフローで特に重要です。

**注記**  
一部のプレイヤーは、ポーリングの代替として使用できるイベントリスナーをサポートしています。例えば、MediaTailor 広告 ID デコレーション機能はセッションごとに有効にする必要があります。詳細については、「[広告 ID デコレーション](ad-id-decoration.md)」を参照してください。この機能を使用すると、表示の各広告に日付範囲 (HLS) またはイベント要素 (DASH) 識別子が配置されます。プレイヤーは、これらのマニフェストタグを、セッションの MediaTailor 追跡エンドポイントを呼び出すプロンプトとして使用できます。

### VOD ワークフロー
<a name="ad-reporting-client-side-best-practices-vod"></a>

セッションの初期化に成功し、MediaTailor がメディアを含む最初のマニフェストを受け取ったら、追跡エンドポイントを一度呼び出すだけで済みます。

![\[VOD ワークフローのコールフロー。セッションが初期化され、MediaTailor がメディアを含む最初のマニフェストを受信したら、クライアント側の追跡エンドポイントを呼び出します。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/vod-workflow-best-practice.png)


### サーバーガイド広告挿入
<a name="ad-reporting-client-side-best-practices-sgai"></a>

サーバーガイド広告挿入 (SGAI) セッションは `GetTracking` API を使用しません。代わりに、 を使用すると`aws.reportingMode=CLIENT`、MediaTailor は、プレイヤーが広告コンテンツをリクエストしたときに、各アセットリストレスポンスの `TRACKING`セクションに追跡情報を提供します。セッション初期化レスポンスには は含まれません`trackingUrl`。

クライアント側で追跡される SGAI セッションのアセットリストレスポンスの構造は次のとおりです。

```
{
  "ASSETS": [
    { "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" },
    { "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" }
  ],
  "TRACKING": {
    ...VAST tracking events and beacon URLs for each ad...
  }
}
```

SGAI メソッドのクライアント側追跡を実装する場合:
+ を呼び出すのではなく、アセットリストレスポンスから `TRACKING`セクションを解析する `GetTracking`
+ 広告イベントレポートのアセットリストで提供されている追跡 URLs を使用する
+ プレイヤーの実際の広告再生イベントに基づく射撃追跡ビーコン
+ アセットリストが取得されるたびに、各広告時間枠の追跡を個別に処理する

**重要**  
`TRACKING` セクションは、 が設定されている場合にのみアセットリストに含まれ`aws.reportingMode=CLIENT`ます。サーバー側のレポートを使用する場合 (SGAI のデフォルト）、MediaTailor は `TRACKING`セクションを省略し、代わりにビーコンデータを広告 URIs。詳細については、「[サーバーガイド広告挿入によるサーバー側の追跡 (SGAI)](ad-reporting-server-side-sgai.md)」を参照してください。

# クライアント側の広告追跡スキーマとプロパティ
<a name="ad-reporting-client-side-ad-tracking-schema"></a>

MediaTailor クライアント側の広告追跡機能を使用すると、詳細なクライアント側の広告追跡データをプレイヤー環境に統合できます。以下のセクションでは、広告追跡スキーマ全体と、スキーマを構成する特定のプロパティと値について説明します。

## Schema
<a name="ad-reporting-client-side-ad-tracking-schema-table"></a>

次の JSON 構造は、MediaTailor クライアント側の広告追跡スキーマを示しています。この表現は、異なるパート間の関係を理解するのに役立つスキーマのネスト構造を示しています。

各プロパティの詳細については、「」を参照してください[プロパティ](#ad-reporting-client-side-ad-tracking-schema-properties)。

```
{
  "avails": [
    {
      "ads": [
        {
          "adID": "string",
          "adParameters": "string",
          "adSystem": "string",
          "adTitle": "string",
          "adVerifications": [
            {
              "executableResource": [
                {
                  "apiFramework": "string",
                  "type": "string",
                  "uri": "string",
                  "language": "string"
                }
              ],
              "javaScriptResource": [
                {
                  "apiFramework": "string",
                  "browserOptional": "string",
                  "uri": "string"
                }
              ],
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ],
              "vendor": "string",
              "verificationParameters": "string"
            }
          ],
          "companionAds": [
            {
              "adParameters": "string",
              "altText": "string",
              "attributes": {
                "adSlotId": "string",
                "apiFramework": "string",
                "assetHeight": "string",
                "assetWidth": "string",
                "expandedHeight": "string",
                "expandedWidth": "string",
                "height": "string",
                "id": "string",
                "pxratio": "string",
                "renderingMode": "string",
                "width": "string"
              },
              "companionClickThrough": "string",
              "companionClickTracking": "string",
              "htmlResource": "string",
              "iFrameResource": "string",
              "sequence": "string",
              "staticResource": "string",
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ]
            }
          ],
          "creativeId": "string",
          "creativeSequence": "string",
          "duration": "string",
          "durationInSeconds": number,
          "extensions": [
            {
              "type": "string",
              "content": "string"
            }
          ],
          "icons": [
            {
              "attributes": {
                "apiFramework": "string",
                "duration": "string",
                "height": "string",
                "offset": "string",
                "program": "string",
                "pxratio": "string",
                "width": "string",
                "xPosition": "string",
                "yPosition": "string"
              },
              "htmlResource": "string",
              "iconClicks": {
                "iconClickThrough": "string",
                "iconClickTracking": {
                  "id": "string"
                },
                "iconClickFallbackImages": [
                  {
                    "altText": "string",
                    "height": "string",
                    "width": "string",
                    "staticResource": {
                      "creativeType": "string",
                      "uri": "string"
                    }
                  }
                ]
              },
              "iconViewTracking": "string",
              "iFrameResource": "string",
              "staticResource": {
                "creativeType": "string",
                "uri": "string"
              }
            }
          ],
          "mediaFiles": {
            "adParameters": "string",
            "duration": "string",
            "durationInSeconds": number,
            "mediaFilesList": [
              {
                "apiFramework": "string",
                "delivery": "string",
                "height": "string",
                "maintainAspectRatio": "string",
                "mediaFileUri": "string",
                "mediaType": "string",
                "scalable": "string",
                "width": "string",
                "bitrate": "string"
              }
            ],
            "mezzanine": "string",
            "startTime": "string",
            "startTimeInSeconds": number,
            "trackingEvents": [
              {
                "beaconUrls": ["string"],
                "duration": "string",
                "durationInSeconds": number,
                "dateTime": "string",
                "eventId": "string",
                "eventType": "string",
                "startTime": "string",
                "startTimeInSeconds": number
              }
            ]
          },
          "startTime": "string",
          "startTimeInSeconds": number,
          "dateTime": "string",
          "adBreakTrackingEvents": [...],
          "vastAdId": "string"
        }
      ],
      "adType": "string",
      "availID": "string",
      "duration": "string",
      "durationInSeconds": number,
      "startTime": "string",
      "startTimeInSeconds": number,
      "dateTime": "string",
      "adMarkerDuration": "string",
      "adProgramDateTime": "string",
      "dashAvailabilityStartTime": "string",
      "hlsAnchorMediaSequenceNumber": "string"
    }
  ],
  "nonLinearAvails": [
    {
      "nonLinearAds": [...],
      "nonLinearAdsList": [...]
    }
  ],
  "nextToken": "string",
  "meta": {}
}
```

## プロパティ
<a name="ad-reporting-client-side-ad-tracking-schema-properties"></a>

次の表に、クライアント側の追跡 API のプロパティ、その定義、値タイプ、および例を示します。


****  

| プロパティ | 定義 | 値のタイプ | 例 | 
| --- | --- | --- | --- | 
|   adID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) パス: `/avails/ads/adId` VAST マッピング: なし  | String | 10 | 
|   adBreakTrackingEvents  |  VAST レスポンスから VMAP 追跡イベントを伝送する配列。詳細については、[VMAP 1.0 仕様のセクション 2.3.3 ](https://www.iab.com/guidelines/vmap/)を参照してください。 パス: `/avails/ads/adBreakTrackingEvents`  | 配列 |  []  | 
|   adMarkerDuration  |  マニフェストの広告マーカーから観測された表示期間。  | String |  30  | 
|   adParameters  |  MediaTailor がプレイヤーに渡す VAST VPAID からの広告パラメータの文字列。 パス: `/avails/ads/adParameters` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/Linear/AdParameters`  | String |  | 
|   adProgramDateTime  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | String |  | 
|   ads  |  表示を構成する広告オブジェクトを含む配列。広告は、マニフェストに表示される順序で一覧表示されます。 パス: `/avails/ads`  | 配列 |  []  | 
|   adSystem  |  広告を提供するシステムの名前。  必ず値を指定してください。値を指定しない場合、問題が発生する可能性があります。   | String |  myADS  | 
|   adTitle  |  広告のタイトル。  | String |  ad1  | 
|   adVerifications  |  クリエイティブ再生を検証するためにサードパーティーの測定コードを実行するために必要なリソースとメタデータが含まれています。このプロパティの詳細については、[VAST 4.2 仕様](https://iabtechlab.com/standards/vast/)のセクション 3.16 を参照してください。 MediaTailor は VAST 3 拡張ノード`adVerifications`として をサポートします。 パス: `/avails/ads/adVerifications` VAST マッピング: `VAST/Ad/InLine/AdVerifications`  | 配列 |  []  | 
|   altText  |  コンパニオン広告のイメージの代替テキスト。このテキストにより、視覚障害者がイメージの説明を読み返すための記述的オーディオサポートを持つプレイヤーが可能になります。 パス: `/avails/ads/companionAds/altText`  | String |  video sequence advertising sneakers  | 
|   apiFramework  |  この広告が VPAID 広告であることをプレイヤーに伝える`VPAID`には、 に設定します。 スキーマ内の複数の場所に表示できます。  | String |  VPAID  | 
|   availID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) パス: `/avails/availID`  | String |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | 
|   avails  |  アクティブなマニフェストウィンドウに表示される広告ブレークオブジェクトまたは*表示*を含む配列。表示は、マニフェストに表示される順序で一覧表示されます。 パス: `/avails`  | 配列 |  []  | 
|   adType  |  広告のタイプ。 パス: `/avails/adType`および `/avails/ads/adType`  | String |  | 
|   dateTime  |  広告表示または広告の開始を ISO 8601 秒形式でプログラムする日時。 パス: `/avails/dateTime`および `/avails/ads/dateTime`  | String |  | 
|   duration  |  長さ、ISO 8601 秒形式。レスポンスには、広告表示全体と各広告とビーコンの期間が含まれますが、ビーコンの期間は常にゼロです。 パス: `/avails/duration`および `/avails/ads/duration`  | String | 15.015 | 
|   durationInSeconds  |  長さ、秒形式。 パス: `/avails/durationInSeconds`および `/avails/ads/durationInSeconds`  | Number |  | 
|   extensions  |  広告サーバーが使用する VAST のカスタム拡張機能。拡張機能の詳細については、[VAST 4.2 仕様](https://iabtechlab.com/standards/vast/)のセクション 3.18 を参照してください。 パス: `/avails/ads/extensions` VAST マッピング: `VAST/Ad/InLine/Extensions`  | 配列 | [] | 
|   icons  |  広告のアイコン要素。 パス: `/avails/ads/icons` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/Linear/Icons`  | 配列 |  | 
|   mediaFiles  |  プレイヤーが広告表示に必要とする動画やその他のアセット。 パス: `/avails/ads/mediaFiles`  | オブジェクト |  | 
|   nonLinearAvails  |  非線形広告表示オブジェクトの配列。 パス: `/nonLinearAvails`  | 配列 |  | 
|   executableResource  |  検証用の実行可能リソース。 パス: `/avails/ads/adVerifications/executableResource` VAST マッピング: `VAST/Ad/InLine/AdVerifications/Verification/ExecutableResource`  | 配列 |  | 
|   javaScriptResource  |  検証用の JavaScript リソース。 パス: `/avails/ads/adVerifications/javaScriptResource` VAST マッピング: `VAST/Ad/InLine/AdVerifications/Verification/JavaScriptResource`  | 配列 |  | 
|   trackingEvents  |  検証広告またはコンパニオン広告のイベントを追跡します。 パス: `/avails/ads/adVerifications/trackingEvents`または `/avails/ads/companionAds/trackingEvents`  | 配列 |  | 
|   vendor  |  検証ベンダー。 パス: `/avails/ads/adVerifications/vendor` VAST マッピング: `VAST/Ad/InLine/AdVerifications/Verification/@vendor`  | String |  | 
|   uri  |  実行可能アセット、動画アセット、または追跡エンドポイントを指す URI。 パス: スキーマ内のさまざまな場所 VAST マッピング: VAST のさまざまな CDATA 要素  | String | https://tracking.example.com/impression | 
|   verificationParameters  |  検証パラメータ。 パス: `/avails/ads/adVerifications/verificationParameters` VAST マッピング: `VAST/Ad/InLine/AdVerifications/Verification/VerificationParameters`  | String |  | 
|   attributes  |  ディメンションやレンダリングモードなどのコンパニオン広告属性。 パス: `/avails/ads/companionAds/attributes`  | オブジェクト |  | 
|   companionClickThrough  |  視聴者がコンパニオン広告をクリックしたときにメディアプレーヤーが開く、広告主のページへの URL。 パス: `/avails/ads/companionAds/companionClickThrough` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickThrough`  | String | https://aws.amazon.com/ | 
|   companionClickTracking  |  `companionClickThrough` プロパティの追跡 URL。 パス: `/avails/ads/companionAds/companionClickTracking` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickTracking`  | String | https://myads.com/beaconing/event=clicktracking | 
|   htmlResource  |  ストリーミングプロバイダーの HTML ページ内に直接挿入される CDATA エンコードされた HTML。 パス: `/avails/ads/companionAds/htmlResource` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/HTMLResource`  | String | <\$1[CDATA[<\$1doctype html><html><head><meta name=\$1"viewport\$1" content=\$1"width=1, initial-scale=1.0, minimum-scale=1.0,...]]> | 
|   iFrameResource  |  ストリーミングプロバイダーが iframe にロードする HTML リソースファイルの URL。 パス: `/avails/ads/companionAds/iFrameResource` VAST マッピング: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/iFrameResource`  | String |  | 
|   sequence  |  VAST レスポンスでクリエイティブに指定されたシーケンス値。 パス: `/avails/ads/companionAds/sequence`  | String | 1 | 
|   startTime  |  ISO 8601 秒形式の時間位置。HLS の場合、これは再生セッションの開始を基準としています。DASH の場合、これはマニフェストの AST (可用性の開始時刻) を基準としています。レスポンスには、ad avail 全体、および各広告とビーコンの開始時間が含まれます。 パス: `/avails/startTime`および `/avails/ads/startTime`  | String | PT18.581355S | 
|   startTimeInSeconds  |  秒形式の時間位置。HLS の場合、これは再生セッションの開始を基準としています。DASH の場合、これはマニフェストの AST (可用性の開始時刻) を基準としています。レスポンスには、ad avail 全体、および各広告とビーコンの開始時間が含まれます。 パス: `/avails/startTimeInSeconds`および `/avails/ads/startTimeInSeconds`  | Number | 18.581 | 
|   eventId  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | String |  | 
|   event  |  追跡イベントの名前。 パス: `/avails/ads/adVerifications/trackingEvents/event`または `/avails/ads/companionAds/trackingEvents/event`  | String | impression, start, firstQuartile, midpoint, thirdQuartile, complete | 
|   beaconUrls  |  MediaTailor が広告ビーコンを送信する URL。 パス: `/avails/ads/mediaFiles/trackingEvents/beaconUrls`  | 配列 |  | 
|   bitrate  |  ビデオアセットのビットレート。このプロパティは通常、実行可能アセットには含まれません。  | String | 2048 | 
|   companionAds  |  1 つ以上のコンパニオン広告コンテンツ仕様。それぞれが使用するリソースファイルを指定します。コンパニオン広告は広告表示に付随し、広告のフレームやバナーなどのコンテンツを動画の近くに表示します。 パス: `/avails/ads/companionAds`  | 配列 | [] | 
|   creativeId  |  広告の`Creative`タグの`Id`属性値。  | String | creative-1 | 
|   creativeSequence  |  VAST レスポンス`Ad@id`の値に従って、広告を再生するシーケンス。  | String | 1 | 
|   dashAvailabilityStartTime  |  ライブ/動的 DASH の場合、オリジンマニフェスト`MPD@availabilityStartTime`の 。  | String | 2022-10-05T19:38:39.263Z | 
|   delivery  |  `progressive` または `streaming`プロトコルが使用されているかどうかを示します。  | String | progressive | 
|   eventType  |  ビーコンのタイプ。 パス: `/avails/ads/mediaFiles/trackingEvents/eventType`  | String | impression | 
|   height  |  ビデオアセットの高さをピクセル単位で示します。  | String | 360 | 
|   hlsAnchorMediaSequenceNumber  |  HLS オリジンマニフェストに表示される最初/最も古いメディアシーケンスのメディアシーケンス番号。  | String | 77 | 
|   maintainAspectRatio  |  スケーリング中に動画のアスペクト比を維持するかどうかを示します。  | ブール値 | true | 
|   mediaFilesList  |  プレイヤーが広告表示に必要とする動画やその他のアセットを指定します。 パス: `/avails/ads/mediaFiles/mediaFilesList`  | 配列 | [] | 
|   mediaFileUri  |  実行可能アセットまたはビデオアセットを指す URI。  | String | https://myad.com/ad/ad134/vpaid.js | 
|   mediaType  |  クリエイティブアセットまたはコンパニオンアセットの MIME タイプ。  | String | video/mp4 | 
|   meta  |  広告の追加メタデータ。  | オブジェクト |  | 
|   mezzanine  |  VPAID 広告にメザニン MP4 アセットが含まれている場合に指定される URL。 パス: `/avails/ads/mediaFiles/mezzanine`  | String | https://gcdn.2mdn.net/videoplayback/id/itag/ck2/file/file.mp4 | 
|   nextToken  |  このような値が存在する場合、結果の次のページを指すトークンの値。  | String | UFQzOS44NzNTXzIwMjMtMDctMzFUMTY6NTA6MDYuMzUwNjI2ODQ1Wl8x | 
|   nonLinearAds  |  動画コンテンツと一緒に表示される非線形広告。  | 配列 | [] | 
|   nonLinearAdsList  |  非線形広告のリスト。  | 配列 | [] | 
|   scalable  |  動画を他のディメンションにスケールするかどうかを示します。  | ブール値 | true | 
|   skipOffset  |  ユーザーがスキップコントロールを使用できるようにするタイミングを識別する時間値。  | String | 00:00:05 | 
|   staticResource  |  広告コンポーネントに使用される静的クリエイティブファイルへの URL。 パス: `/avails/ads/companionAds/staticResource`  | String | https://very-interactive-ads.com/campaign1/file.json?c=1019113602 | 
|   vastAdId  |  `Ad` タグの`Id`属性値。  | String | ad1 | 
|   width  |  ビデオアセットの幅をピクセル単位で示します。  | String | 640 | 
|   xPosition  |  ビデオプレーヤー内のアイコンの水平位置。特定のピクセル値、または「左」や「右」などの位置を指定できます。 パス: `/avails/ads/icons/attributes/xPosition`  | String | left、または 10 | 
|   yPosition  |  ビデオプレーヤー内のアイコンの垂直位置。特定のピクセル値、または「上」や「下」などの位置を指定できます。 パス: `/avails/ads/icons/attributes/yPosition`  | String | top、または 10 | 
|   iconClicks  |  アイコンのクリックスルーと追跡情報が含まれます。 パス: `/avails/ads/icons/iconClicks`  | オブジェクト |  | 
|   iconClickThrough  |  ビューワーがアイコンをクリックしたときにメディアプレーヤーが開く、広告主のページへの URL。 パス: `/avails/ads/icons/iconClicks/iconClickThrough`  | String | https://advertiser.com/landing-page | 
|   iconClickTracking  |  `iconClickThrough` プロパティの追跡 URL。 パス: `/avails/ads/icons/iconClicks/iconClickTracking`  | オブジェクト |  | 
|   iconClickFallbackImages  |  アイコンを表示できない場合に表示するフォールバックイメージの配列。 パス: `/avails/ads/icons/iconClicks/iconClickFallbackImages`  | 配列 |  | 
|   iconViewTracking  |  アイコンが表示されたときに追跡する URL。 パス: `/avails/ads/icons/iconViewTracking`  | String | https://tracking.example.com/icon-view | 
|   offset  |  広告の再生中にアイコンが表示されるときのタイムオフセット。 パス: `/avails/ads/icons/attributes/offset`  | String | 00:00:05 | 
|   program  |  アイコンに関連付けられた「AdChoices」などのプログラムまたはイニシアチブ。 パス: `/avails/ads/icons/attributes/program`  | String | AdChoices | 
|   pxratio  |  アイコンまたはコンパニオン広告のピクセル比。高 DPI ディスプレイに使用されます。 パス: `/avails/ads/icons/attributes/pxratio`または `/avails/ads/companionAds/attributes/pxratio`  | String | 1、または 2 | 
|   type  |  リソースまたは拡張機能のタイプ。 パス: `/avails/ads/extensions/type`または `/avails/ads/adVerifications/executableResource/type`  | String | text/javascript | 
|   content  |  拡張機能の内容。 パス: `/avails/ads/extensions/content`  | String |  | 
|   language  |  実行可能リソースのプログラミング言語。 パス: `/avails/ads/adVerifications/executableResource/language`  | String | javascript | 
|   browserOptional  |  JavaScript リソースにブラウザのサポートが必要かどうかを示します。 パス: `/avails/ads/adVerifications/javaScriptResource/browserOptional`  | String | true、または false | 
|   id  |  スキーマ内のさまざまな要素の識別子。 パス: `/avails/ads/companionAds/attributes/id`または `/avails/ads/icons/iconClicks/iconClickTracking/id`  | String | companion-1 | 
|   assetHeight  |  コンパニオン広告アセットの高さ。 パス: `/avails/ads/companionAds/attributes/assetHeight`  | String | 250 | 
|   assetWidth  |  コンパニオン広告アセットの幅。 パス: `/avails/ads/companionAds/attributes/assetWidth`  | String | 300 | 
|   expandedHeight  |  展開時のコンパニオン広告の高さ。 パス: `/avails/ads/companionAds/attributes/expandedHeight`  | String | 600 | 
|   expandedWidth  |  展開時のコンパニオン広告の幅。 パス: `/avails/ads/companionAds/attributes/expandedWidth`  | String | 600 | 
|   renderingMode  |  コンパニオン広告のレンダリングモード。 パス: `/avails/ads/companionAds/attributes/renderingMode`  | String | default、または transparent | 
|   adSlotId  |  コンパニオン広告を表示する広告スロットの ID。 パス: `/avails/ads/companionAds/attributes/adSlotId`  | String | banner-1 | 
|   creativeType  |  クリエイティブアセットの MIME タイプ。 パス: `/avails/ads/icons/staticResource/creativeType`  | String | image/png | 

# 広告追跡アクティビティのタイミング
<a name="ad-reporting-client-side-ad-tracking-schema-activity-timing"></a>

クライアント側のレポートでは、プレイヤーは精度の高い追跡イベント (ビーコン) を出力する必要があります。MediaTailor クライアント側の追跡スキーマを使用すると、すべての表示、広告、コンパニオン、オーバーレイ、追跡イベント、タイミングと期間情報、およびさまざまな形式が存在することを確認できます。

プレイヤーは、次の MediaTailor のキーと値のペアを使用して、イベントの追跡などの広告イベントアクティビティを再生位置と正確に照合します。
+ [startTime](ad-reporting-client-side-ad-tracking-schema.md#property-starttime) 
+  [startTimeInSeconds](ad-reporting-client-side-ad-tracking-schema.md#property-starttimeinseconds) 
+  [adProgramDateTime](ad-reporting-client-side-ad-tracking-schema.md#property-adprogramdatetime) 
+  [adID](ad-reporting-client-side-ad-tracking-schema.md#property-adid)/[eventId](ad-reporting-client-side-ad-tracking-schema.md#property-eventid) 

HLS と DASH は、 と の値を実装`startTime``startTimeInSeconds`します。
+ HLS - `startTime`値は再生セッションの開始からの相対値です。再生セッションの開始は、ゼロ時間として定義されます。広告の `startTime`は、表示までのすべての`EXT-INF`セグメント期間の累積値の合計です。広告または追跡イベントが属するセグメントのメディアシーケンス番号は、クライアント側の追跡レスポンス`eventId`の `adId`または にも対応します。
+ DASH:
  + ライブ/動的マニフェスト - `startTime`値は DASH マニフェスト`MPD@availabilityStartTime`の を基準としています。`MPD@avaibilityStartTime` は、ストリームを消費するすべての MediaTailor セッションのタイミングアンカーです。
  + VOD/静的マニフェスト - `startTime`値は再生セッションの開始からの相対値です。再生セッションの開始は、ゼロ時間として定義されます。avail 内の各広告は、独自の `Period`要素内に含まれています。`Period` 要素には、クライアント側の追跡ペイロードの値と同じ`startTime`値を持つ`@start`属性があります。は、クライアント側の追跡レスポンス`eventId`の `adId`または `PeriodId`にも対応します。

**Example HLS:**  
次の例では、MediaTailor セッションが開始され、次のマニフェストがクライアントに提供される最初のマニフェストです。  

```
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:4603263
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:23.295678Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_34.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:27.306345Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_35.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:31.317012Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_36.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:35.327679Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_37.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:39.338346Z
#EXTINF:2.538667,
https://123.cloudfront.net/out/v1/index_1_38.ts
#EXT-X-DISCONTINUITY
#EXT-X-KEY:METHOD=NONE
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:41.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00001.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:43.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00002.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:45.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00003.ts
```
クライアント側の追跡 JSON ペイロードでは、次の値が適用されます。  
+  `startTime`: `"PT18.581355S"` 
+  `startTimeInSeconds`: `18.581` 
+  `availProgramDateTime`: `"2023-05-03T21:24:41.453Z"` 
+  `adId`: `4603269` 

**Example DASH:**  
次の例では、MediaTailor セッションはマニフェストでミッドロールを取得します。広告期間である 2 番目の期間の`@start`属性値には、 値に対する相対`MPD@availabilityStartTime`値があることに注意してください。この値は、MediaTailor がすべてのセッションについてクライアント側の追跡レスポンス`startTime`フィールドに書き込む値です。  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD availabilityStartTime="2022-10-05T19:38:39.263Z" minBufferTime="PT10S" minimumUpdatePeriod="PT2S" profiles="urn:mpeg:dash:profile:isoff-live:2011" publishTime="2023-05-03T22:06:48.411Z" suggestedPresentationDelay="PT10S" timeShiftBufferDepth="PT1M30S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:scte35="urn:scte:scte35:2013:xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd">
    <BaseURL>https://123.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/my-channel/</BaseURL>
    <Location>https://123.cloudfront.net/v1/dash/94063eadf7d8c56e9e2edd84fdf897826a70d0df/MediaTailor-Live-HLS-DASH/channel/channel1/dash.mpd?aws.sessionId=794a15e0-2a7f-4941-a537-9d71627984e5</Location>
    <Period id="1683151479166_1" start="PT5042H25M59.903S" xmlns="urn:mpeg:dash:schema:mpd:2011">
        <BaseURL>https://123.cloudfront.net/out/v1/f1a946be8efa45b0931ea35c9055fb74/ddb73bf548a44551a0059c346226445a/eaa5485198bf497284559efb8172425e/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
    <Period id="1683151599194_1_1" start="PT5042H27M59.931S">
        <BaseURL>https://123.cloudfront.net/tm/94063eadf7d8c56e9e2edd84fdf897826a70d0df/fpc5omz5wzd2rdepgieibp23ybyqyrme/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
</MPD>
```
クライアント側の追跡 JSON ペイロードでは、次の値が適用されます。  
+  `startTime`: `"PT5042H27M59.931S"` 
+  `startTimeInSeconds`: `18152879.931` 
+  `availProgramDateTime`: *null* 
+  `adId`: `1683151599194_1_1` 

# クライアント側の広告追跡のプレイヤーコントロールと機能
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls"></a>

MediaTailor クライアント側の追跡メタデータは、さまざまなプレイヤーコントロールと機能をサポートしています。次のリストでは、一般的なプレイヤーコントロールについて説明します。

**Topics**
+ [スクラブ](#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing)
+ [広告カウントダウンタイマー](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)
+ [スキップ可能な広告](#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)
+ [広告クリックスルー](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)
+ [コンパニオン広告](#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads)
+ [インタラクティブ広告 (SIMID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads)
+ [インタラクティブ広告 (VPAID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads)
+ [Google Why This Ad (WTA) のアイコン](#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta)

## スクラブ
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing"></a>

再生エクスペリエンスを向上させるために、プレイヤーは再生タイムラインに広告位置を表示できます。MediaTailor は、これらの広告位置をクライアント側の追跡レスポンス`startTimeInSeconds`の値の形式で利用できるようにします。

**注記**  
一部のストリーミングプロバイダーは、広告位置を超えたスクラブを防止します。

![\[広告が再生されるビデオタイムライン内の MediaTailor マーク位置を示すスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/scrubbing.png)


次のクライアント側の追跡ペイロード JSON レスポンスは、avails 配列のルート JSON オブジェクト内の avail (ad break) 開始時刻を示しています。プレイヤーはこのデータを使用して、プレイヤータイムラインの広告時間枠の場所を 28 秒で表示します。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

## 広告カウントダウンタイマー
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer"></a>

MediaTailor を使用すると、広告カウントダウンタイマーを使用して、広告ブレークの表示中にオーディエンスのエンゲージメントを維持できます。対象者はタイマーを使用して、広告時間枠が終了し、プログラムが再開されるタイミングを把握できます。

![\[MediaTailor が広告カウントダウンタイマーを表示しているスクリーンショット。このプログラムが再開されるまでの残り時間を視聴者に指示します。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ad-countdown-timer.png)


広告カウントダウンタイマーで役割を果たすクライアント側の追跡メタデータの要素は`startTime`、、`startTimeInSeconds`、`duration`、および です`durationInSeconds`。プレイヤーは、このメタデータを個別に追跡するセッションの経過時間とともに使用して、タイマーを表示するタイミングとカウントダウンする値を決定します。

次のクライアント側の追跡ペイロード JSON レスポンスは、広告カウントダウンタイマーを表示するために必要な情報を示しています。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

セッションの経過時間が avail の開始時間に達すると、プレイヤーは avail の期間に一致する値を持つカウントダウンタイマーを表示します。カウントダウンタイマーの値は、経過時間が表示の開始時間を超えると減少します。

**Example 式: HLS (ライブと VOD) と DASH (VOD) のカウントダウンタイマー**  
+ `session_start_time` = すべての`EXT-INF`継続時間値の合計 - 3 つの最新の`EXT-INF`メディアシーケンスの継続時間値
+ タイマー値 = `duration` - (`session_elapsed_time` - `startTime`)

![\[HLS (ライブおよび VOD) マニフェストと DASH (VOD) マニフェストについて、セッションの開始時刻と表示の開始時刻に基づく広告カウントダウンタイマーの計算を示す図。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ad-countdown-timer-hls-dash-vod.png)


**Example 計算式: DASH のカウントダウンタイマー (ライブ)**  
+ `session_start_time` = (最新のセグメントの `startTime` \$1 `duration`) / `timescale` - `MPD@suggestedPresentationDelay`
+ タイマー値 = `duration` - (`session_elapsed_time` - `startTime`)

![\[ライブ DASH マニフェストのセッションの開始時刻と表示の開始時刻に基づく広告カウントダウンタイマーの計算を示す図。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ad-countdown-timer-dash-live.png)


## スキップ可能な広告
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads"></a>

*スキップ可能な広告*は、ビューワーが一部の広告をスキップしてプログラムの表示を再開できるようにする広告スポットです。VAST では、 `Linear@skipOffset` 属性はスキップ可能な広告を識別します。

次の VAST レスポンスは、スキップ可能な広告の使用方法を示しています。

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear skipoffset="00:00:05">
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

次のクライアント側の追跡ペイロード JSON レスポンスは、`ads`配列内の広告メタデータを示しています。配列には、MediaTailor が VAST レスポンスから取得した`skipOffset`値が含まれています。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:11:40.693Z",
          "adSystem": "2.0",
          "adTitle": "AD-skiing-15",
          "adVerifications": [],
          "companionAds": [...],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT15.015S",
          "durationInSeconds": 15.015,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:05",
          "startTime": "PT9.943S",
          "startTimeInSeconds": 9.943,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://adserverbeaconing.com/v1/impression"
              ],
              "duration": "PT15.015S",
              "durationInSeconds": 15.015,
              "eventId": "2697726",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT9.943S",
              "startTimeInSeconds": 9.943
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2697726",
      "availProgramDateTime": "2023-07-31T16:11:40.693Z",
      "duration": "PT15.015S",
      "durationInSeconds": 15.015,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT9.943S",
      "startTimeInSeconds": 9.943
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "",
  "nonLinearAvails": []
}
```

## 広告クリックスルー
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough"></a>

クリックスルー URIs を使用すると、広告が視聴者の注意を引くのにどの程度成功したかを広告主が測定できます。ビューワーが進行中の広告のアクティブな動画フレームをクリックすると、ウェブブラウザは広告主のホームページまたはキャンペーンランディングページの URI を開きます。プレイヤー開発者は、広告ビデオにボタンやラベルを重ねるなどのクリック動作を決定し、クリックして詳細を確認するメッセージを表示します。プレイヤー開発者は、視聴者がアクティブな動画フレームをクリックした後、広告の動画を一時停止することがよくあります。

![\[ビデオプレーヤーでの広告クリックスルーのスクリーンショット。ビューワーはビデオフレームをクリックします。プレイヤーは動画を一時停止し、ウェブブラウザを開いて、閲覧者を広告主のホームページまたはキャンペーンランディングページに移動します。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ad-clickthrough.png)


MediaTailor は、VAST レスポンスで返されたリニアビデオのクリックスルーイベント URLs を解析して使用できます。次の VAST レスポンスは、広告クリックスルーの例を示しています。

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="1280" height="720" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
            <VideoClicks>
              <ClickThrough id="EMT"><![CDATA[https://aws.amazon.com]]></ClickThrough>
              <ClickTracking id="EMT"><![CDATA[https://myads.com/beaconing/event=clicktracking]]></ClickTracking>
            </VideoClicks>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

次のクライアント側の追跡ペイロード JSON レスポンスは、MediaTailor が`trackingEvents`配列内にクリックスルー URL とクリック追跡 URLs を表示する方法を示しています。`clickThrough` イベントタイプはクリックスルー広告を表し、`clickTracking`イベントタイプはクリック追跡 URL を表します。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## コンパニオン広告
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads"></a>

*コンパニオン広告*は、線形クリエイティブと一緒に表示されます。コンパニオン広告を使用して、製品、ロゴ、ブランド情報を表示することで、広告スポットの有効性を高めます。ディスプレイ広告には、クイックレスポンス (QR) コードとクリック可能なエリアが用意されており、視聴者のエンゲージメントを高めることができます。

MediaTailor は VAST レスポンスでコンパニオン広告をサポートしています。、`StaticResource`、`iFrameResource`および `HTMLResource`ノードからそれぞれメタデータを渡すことができます。

次の VAST レスポンスは、線形広告とコンパニオン広告の場所と形式の例を示しています。

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:10</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
        <Creative id="2" sequence="1">
          <CompanionAds>
            <Companion id="2" width="300" height="250">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/9973499273]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/1]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/2]]></CompanionClickThrough>
            </Companion>
            <Companion id="3" width="728" height="90">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/1238901823]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/3]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/4]]></CompanionClickThrough>
            </Companion>
          </CompanionAds>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

データは、`/avail/x/ads/y/companionAds`リストのクライアント側の追跡レスポンスに表示されます。各リニアクリエイティブには、最大 6 つのコンパニオン広告を含めることができます。以下の例に示すように、コンパニオン広告はリストに表示されます。

**注記**  
ベストプラクティスとして、アプリケーション開発者は、クリエイティブの最後にコンパニオン広告を明示的に削除またはアンロードするロジックを実装する必要があります。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "EMT",
          "adTitle": "sample",
          "adVerifications": [],
          "companionAds": [
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "250",
                "id": "2",
                "pxratio": null,
                "renderingMode": null,
                "width": "300"
              },
              "companionClickThrough": "https://beacon.com/2",  
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/9973499273",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/1"
                  ],
                  "eventType": "creativeView"
                }
              ]
            },
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "90",
                "id": "3",
                "pxratio": null,
                "renderingMode": null,
                "width": "728"
              },
              "companionClickThrough": "https://beacon.com/4",
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/1238901823",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/3"
                  ],
                  "eventType": "creativeView"
                }
              ]
            }
          ],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://beacon.com/impression/1"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMToxMDowOC42NzQ4NDA1NjJaXzE%3D",
  "nonLinearAvails": []
}
```

## インタラクティブ広告 (SIMID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads"></a>

*SecureInteractive Media Interface Definition* (SIMID) は、インタラクティブ広告局 (IAB) の VAST 4.x 標準で導入されたインタラクティブ広告の標準です。SIMID は、インタラクティブ要素のロードをプレイヤーのプライマリリニアクリエイティブから切り離し、VAST レスポンスで両方を参照します。MediaTailor は、再生エクスペリエンスを維持するためにプライマリクリエイティブをステッチし、インタラクティブコンポーネントのメタデータをクライアント側の追跡レスポンスに配置します。

次の VAST 4 レスポンスの例では、SIMID ペイロードは`InteractiveCreativeFile`ノード内にあります。

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Error>https://www.beacons.com/error</Error>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://www.beacons.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
              <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
                                https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
                            </InteractiveCreativeFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

次の VAST 3 レスポンスでは、SIMID ペイロードは`Extensions`ノード内にあります。

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://myads.com/beaconing/event=clicktracking</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      <Extensions>
        <Extension type="InteractiveCreativeFile">
          <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
            https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
          </InteractiveCreativeFile>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

次のクライアント側の追跡レスポンスでは、SIMID データが`/avails/x/ads/y/extensions`リストに表示されます。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "Linear SIMID Example",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<InteractiveCreativeFile type=\"text/html\" apiFramework=\"SIMID\" variableDuration=\"true\">\nhttps://interactive-ads.com/interactive-media-ad-sample/sample_simid.html</InteractiveCreativeFile>",
              "type": "InteractiveCreativeFile"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## インタラクティブ広告 (VPAID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads"></a>

*Video Player Ad Interface Definition* (VPAID) は、広告インタラクティブやその他の機能を有効にする、広告とビデオプレーヤーの間のプロトコルを指定します。ライブストリームの場合、MediaTailor は、表示期間中にスレートセグメントを にステッチし、ビデオプレイヤーが消費するクライアント側の追跡レスポンスに VPAID クリエイティブのメタデータを配置することで、VPAID 形式をサポートします。プレイヤーは VPAID ファイルをダウンロードして線形クリエイティブを再生し、クライアントのスクリプトを実行します。プレイヤーはスレートセグメントを再生*しないでください*。

**注記**  
VPAID は VAST 4.1 以降廃止されました。

![\[VPAID 広告再生の図。MediaTailor は、コンテンツタイムラインの空き時間に対してスレートセグメントをステッチします。プレイヤーは、有効期間中に VPAID アセットに切り替えます。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/interactive-ads-vpaid.png)


次の例は、VAST レスポンスの VPAID コンテンツを示しています。

```
<?xml version="1.0"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>GDFP</AdSystem>
      <AdTitle>VPAID</AdTitle>
      <Description>Vpaid Linear Video Ad</Description>
      <Error>http://www.example.com/error</Error>
      <Impression>http://www.example.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:00</Duration>
            <TrackingEvents>
              <Tracking event="start">http://www.example.com/start</Tracking>
              <Tracking event="firstQuartile">http://www.example.com/firstQuartile</Tracking>
              <Tracking event="midpoint">http://www.example.com/midpoint</Tracking>
              <Tracking event="thirdQuartile">http://www.example.com/thirdQuartile</Tracking>
              <Tracking event="complete">http://www.example.com/complete</Tracking>
              <Tracking event="mute">http://www.example.com/mute</Tracking>
              <Tracking event="unmute">http://www.example.com/unmute</Tracking>
              <Tracking event="rewind">http://www.example.com/rewind</Tracking>
              <Tracking event="pause">http://www.example.com/pause</Tracking>
              <Tracking event="resume">http://www.example.com/resume</Tracking>
              <Tracking event="fullscreen">http://www.example.com/fullscreen</Tracking>
              <Tracking event="creativeView">http://www.example.com/creativeView</Tracking>
              <Tracking event="acceptInvitation">http://www.example.com/acceptInvitation</Tracking>
            </TrackingEvents>
            <AdParameters><![CDATA[ {"videos":[ {"url":"https://my-ads.com/interactive-media-ads/media/media_linear_VPAID.mp4","mimetype":"video/mp4"}]} ]]></AdParameters>
            <VideoClicks>
              <ClickThrough id="123">http://google.com</ClickThrough>
              <ClickTracking id="123">http://www.example.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" apiFramework="VPAID" type="application/javascript" width="640" height="480"> https://googleads.github.io/googleads-ima-html5/vpaid/linear/VpaidVideoAd.js </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

次の例は、追跡情報を示しています。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "2922274",
          "adParameters": "",
          "adProgramDateTime": "2023-08-14T19:49:53.998Z",
          "adSystem": "Innovid Ads",
          "adTitle": "VPAID",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT16.016S",
          "durationInSeconds": 16.016,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [
              {
                "apiFramework": "VPAID",
                "bitrate": 0,
                "codec": null,
                "delivery": "progressive",
                "height": 9,
                "id": "",
                "maintainAspectRatio": false,
                "maxBitrate": 0,
                "mediaFileUri": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc=",
                "mediaType": "application/javascript",
                "minBitrate": 0,
                "scalable": false,
                "width": 16
              }
            ],
            "mezzanine": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc="
          },
          "skipOffset": null,
          "startTime": "PT8M42.289S",
          "startTimeInSeconds": 522.289,
          "trackingEvents": [
            {
              "beaconUrls": [
                "about:blank"
              ],
              "duration": "PT16.016S",
              "durationInSeconds": 16.016,
              "eventId": "2922274",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT8M42.289S",
              "startTimeInSeconds": 522.289
            }
          ],
          "vastAdId": "1h41kg"
        }
      ],
      "availId": "2922274",
      "availProgramDateTime": "2023-08-14T19:49:53.998Z",
      "duration": "PT16.016S",
      "durationInSeconds": 16.016,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT8M42.289S",
      "startTimeInSeconds": 522.289
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQ4TTQyLjI4OVNfMjAyMy0wOC0xNFQxOTo1MDo0MS4zOTc5MjAzODVaXzE%3D",
  "nonLinearAvails": []
}
```

## Google Why This Ad (WTA) のアイコン
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta"></a>

*AdChoices* は、広告がどのようにターゲットにされたかなど、表示される広告に関する情報を視聴者に提供する業界標準です。

![\[Google Why This Ad (WTA) ロゴ。WTA は、それらの広告がどのようにターゲットにされたかなど、表示される広告についてビューワーに通知します。\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/google-wta.png)


MediaTailor クライアント側の追跡 API は、VAST レスポンスの VAST 拡張機能ノードで伝送されるアイコンメタデータをサポートします。VAST レスポンスの WTA の詳細については、[この VAST XML レスポンスのサンプル](https://storage.googleapis.com/interactive-media-ads/ad-tags/ima_wta_sample_vast_3.xml)を参照してください。

**注記**  
MediaTailor は現在、VAST バージョン 3 のみをサポートしています。

```
<VAST>
    <Ad>  
    <InLine>  
       ...
      <Extensions>
        <Extension type="IconClickFallbackImages">
          <IconClickFallbackImages program="GoogleWhyThisAd">
            <IconClickFallbackImage width="400" height="150">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
          <IconClickFallbackImages program="AdChoices">
            <IconClickFallbackImage width="400" height="150">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]></StaticResource>
            </IconClickFallbackImage>
            <IconClickFallbackImage width="800" height="300">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

次の例は、`/avails/x/ads/y/extensions`リスト内のクライアント側の追跡レスポンスを示しています。

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "GDFP",
          "adTitle": "Google Why This Ad VAST 3 Sample",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "7891011",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [
            {
              "content": "<IconClickFallbackImages program=\"GoogleWhyThisAd\">      
                          <IconClickFallbackImage height=\"150\" width=\"400\">      
                          <AltText>Alt icon fallback</AltText>      
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]>
                          </StaticResource>     
                          </IconClickFallbackImage>    
                          </IconClickFallbackImages>     
                          <IconClickFallbackImages program=\"AdChoices\">     
                          <IconClickFallbackImage height=\"150\" width=\"400\">     
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>      
                          <IconClickFallbackImage height=\"300\" width=\"800\">       
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>     
                          </IconClickFallbackImages>",
              "type": "IconClickFallbackImages"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:03",
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://example.com/view"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": "123456"
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMDo0MToxNy45NDE4MDM0NDhaXzE%3D",
  "nonLinearAvails": []
}
```

# クライアント側のビーコン
<a name="ad-reporting-client-side-beaconing"></a>

クライアント側の追跡`startTimeInSeconds`要素を使用すると、MediaTailor を使用してビーコンのタイミングをサポートできます。

次の JSON レスポンスは、インプレッション、開始、四分位数、完了の主なビーコンタイプを示しています。

**注記**  
インタラクティブ広告局 (IAB) のビデオインプレッション測定ガイドラインには、インプレッションでは広告コンテンツをクライアント側でロードし、少なくともプレイヤーにレンダリングする時間が必要であると記載されています。詳細については、IAB ウェブサイトの[「デジタルビデオ広告配信テンプレート (VAST)](https://www.iab.com/guidelines/vast/)」を参照してください。

```
{
  "avails": [
    {
      "ads": [
        {
          "adId": "8104385",
          "duration": "PT15.100000078S",
          "durationInSeconds": 15.1,
          "startTime": "PT17.817798612S",
          "startTimeInSeconds": 17.817,
          "trackingEvents": [
          {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=impression"
              ],
              "duration": "PT15.100000078S",
              "durationInSeconds": 15.1,
              "eventId": "8104385",
              "eventType": "impression",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=start"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104385",
              "eventType": "start",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104386",
              "eventType": "firstQuartile",
              "startTime": "PT21.592798631S",
              "startTimeInSeconds": 21.592
            },
             {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=midpoint"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104387",
              "eventType": "midpoint",
              "startTime": "PT25.367798651S",
              "startTimeInSeconds": 25.367
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104388",
              "eventType": "thirdQuartile",
              "startTime": "PT29.14279867S",
              "startTimeInSeconds": 29.142
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104390",
              "eventType": "complete",
              "startTime": "PT32.91779869S",
              "startTimeInSeconds": 32.917
            }
          ]
        }
      ],
      "availId": "8104385",
      "duration": "PT15.100000078S",
      "durationInSeconds": 15.1,
      "startTime": "PT17.817798612S",
      "startTimeInSeconds": 17.817
    }
  ]
}
```

# サーバー側の広告ビーコンを使用したハイブリッドモード
<a name="ad-reporting-hybrid-mode"></a>

MediaTailor は、セッション追跡用のハイブリッドモードをサポートしています。このモードでは、サービスは再生関連の広告追跡イベントを発行しますが、完全なクライアント側の追跡ペイロードをセッションで使用できるようにします。

再生プレフィックスを使用してハイブリッド追跡を有効にするには、プレーヤーから、プロトコルに従って、次のいずれかの形式のリクエストを使用して新しい MediaTailor 再生セッションを初期化します。

**Example : HLS 形式**  

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

**Example : DASH 形式**  

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

MediaTailor は、次の追跡イベントをハイブリッドモードで維持します。
+ インプレッション
+ Start
+ 最初の四分位数
+ Midpoint
+ 第 3 四分位数
+ 完了
+ `breakStart` (vmap)
+ `breakEnd` (vmap)

# クライアント側の広告追跡統合
<a name="ad-reporting-client-side-ad-tracking-integrations"></a>

このセクションでは、MediaTailor とさまざまなクライアント側の広告追跡サーバーの統合について説明します。

**Topics**
+ [オープン測定 SDK](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)
+ [Datazoom フリープレイヤー SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)
+ [Roku 広告フレームワーク (RAF)](#ad-reporting-client-side-ad-tracking-integrations-raf)
+ [TheoPlayer](#ad-reporting-client-side-ad-tracking-integrations-theoplayer)
+ [MediaTailor SDK](#ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk)

## オープン測定 SDK
<a name="ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk"></a>

Interactive Advertising Bureau (IAB) Open Measurement SDK (OM SDK) は、ウェブビデオ環境とネイティブアプリケーション環境に配信される広告のサードパーティーの可視性と検証の測定を容易にします。

古い VAST バージョン 3 ドキュメントの場合、検証コードは拡張タイプ の拡張ノードでロードする必要があります`AdVerifications`。拡張ノードのルートは、VAST 4.1 要素と同じスキーマを持つ`AdVerifications`ノードです。

OM SDK の導入を容易にするために、MediaTailor は Datazoom と提携し、オープン測定用に設定および検証された無料プレイヤー SDKs を提供しています。詳細については、「[Datazoom フリープレイヤー SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)」を参照してください。

**注記**  
MediaTailor は現在、VAST バージョン 3 のみをサポートしています。

**Example : バージョン 4.1 より前の VAST 3 の検証ノード**  

```
...
<Extensions>
    <Extension type="AdVerifications">
        <AdVerifications>
            <Verification vendor="company.com-omid">
                <JavaScriptResource apiFramework="omid" browserOptional="true">
                    <![CDATA[https://verification.com/omid_verification.js]]>
                </JavaScriptResource>
                <TrackingEvents>
                    <Tracking event="verificationNotExecuted">
                        <![CDATA[https://verification.com/trackingurl]]>
                    </Tracking>
                </TrackingEvents>
                <VerificationParameters>
                    <![CDATA[verification params key/value pairs]]>
                </VerificationParameters>
            </Verification>
        </AdVerifications>
    </Extension>
</Extensions>
```

MediaTailor は`<Extensions>`ノードから`AdVerifications`データを抽出し、クライアント側の追跡レスポンスの`adVerifications`配列に配置します。

**Example : クライアント側の追跡レスポンスの adVerifications 配列**  

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "3062770",
          "adParameters": "",
          "adProgramDateTime": "2023-08-23T16:25:40.914Z",
          "adSystem": "2.0",
          "adTitle": "AD-polarbear-15",
          "adVerifications": [
            {
              "executableResource": [],
              "javaScriptResource": [
                {
                  "apiFramework": "omid",
                  "browserOptional": "true",
                  "uri": "https://verification.com/omid_verification.js"
                }
              ],
              "trackingEvents": [
                {
                  "event": "verificationNotExecuted",
                  "uri": "https://verification.com/trackingurl"
                }
              ],
              "vendor": "company.com-omid",
              "verificationParameters": "verification params key value pairs"
            }
          ],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<AdVerifications>\n\t\t\t\t\t\t<Verification vendor=\"company.com-omid\">\n\t\t\t\t\t\t\t<JavaScriptResource apiFramework=\"omid\" browserOptional=\"true\"><![CDATA[https://verification.com/omid_verification.js;]]></JavaScriptResource>\n\t\t\t\t\t\t\t<TrackingEvents>\n\t\t\t\t\t\t\t\t<Tracking event=\"verificationNotExecuted\"><![CDATA[;https://verification.com/trackingurl;]]></Tracking>\n\t\t\t\t\t\t\t</TrackingEvents>\n\t\t\t\t\t\t\t<VerificationParameters><![CDATA[verification params key/value pairs;]]></VerificationParameters>\n\t\t\t\t\t\t</Verification>\n\t\t\t\t\t</AdVerifications>",
              "type": "AdVerifications"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT10.11S",
          "startTimeInSeconds": 10.11,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://n8ljfs0h09.execute-api.us-west-2.amazonaws.com/v1/impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "3062770",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT10.11S",
              "startTimeInSeconds": 10.11
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "3062770",
      "availProgramDateTime": "2023-08-23T16:25:40.914Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT10.11S",
      "startTimeInSeconds": 10.11
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMC4xMVNfMjAyMy0wOC0yM1QxNjoyNjoyNC4yNDYxMDIxOTBaXzE%3D",
  "nonLinearAvails": []
}
```

**注記**  
IAB Tech Lab と連携して、コンプライアンスを確保するためにアプリケーションが毎年認定されるようにします。

OM SDK の詳細については、IAB Tech Lab ウェブサイトの[「Open Measurement SDK](https://iabtechlab.com/standards/open-measurement-sdk/)」を参照してください。

## Datazoom フリープレイヤー SDKs
<a name="ad-reporting-client-side-ad-tracking-integrations-dz"></a>

プレイヤー SDKs の導入を容易にするために、MediaTailor は Datazoom と提携し、 [Google 広告マネージャーとのクライアント側の AWS Elemental MediaTailor 統合](gam-integration-pal.md) および IAB Tech で設定およびテストされた無料プレイヤー SDKs を提供しています[オープン測定 SDK](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)。

Datazoom プレイヤー SDK は、以下の機能をサポートしています。
+ ライブプレイリストと VOD プレイリスト
+ DASH および HLS の仕様
+ Bitmovin、exoplayer、Android メディアプレイヤー、Apple AVPlayer、Brightcove、Chromecast Receiver、Dash.js、hls.js、JWPlayer、Shaka プレイヤー、THEO プレイヤー、Video.js、Roku などに対するプレイヤーベンダーのサポート
+ 選択したデバイスで利用可能な IAB Tech Lab Open Measurement 認定
+ クリックスルーイベント処理
+ 広告カウントダウンタイマー、広告オーバーレイ、非線形イベント、広告ブレーク開始、広告ブレーク終了などの広告イベントディスパッチャー
+ クライアント側の広告ビーコン
+ オプションの設定としての Google Programmatic Access Library (PAL) SDK

Datazoom は、プレイヤー SDKsがサポートする有料の分析およびテレメトリサービスも提供します。お客様は、Datazoom マネジメントコンソールからプレイヤー SDK テレメトリをオプトインおよび制御できます。Datazoom プレイヤー SDKs にアクセスし、付加価値テレメトリおよび分析サービスの詳細については、[Datazoom サイトの](https://www.datazoom.io/partner-aws)連絡先情報を使用します。

## Roku 広告フレームワーク (RAF)
<a name="ad-reporting-client-side-ad-tracking-integrations-raf"></a>

Roku 広告フレームワーク (RAF) は、Roku プラットフォーム全体で一貫した広告エクスペリエンスを維持します。動画広告を含むすべてのチャネルは、Roku の RAF 認定要件を満たしている必要があります。特に、アプリは常に RAF を介したクライアント側のイベント射撃を使用する必要があります。MediaTailor は、サーバー側の広告挿入 (SSAI) プロバイダーとして、クライアント側のイベント射撃をサポートしています。RAFX SSAI Adapter は、SSAI マニフェストサーバー、またはスティッカー、および RAF の両方にインターフェイスを提供します。これらのインターフェイスには以下が含まれます。
+ `masterURL` レスポンスを解析し`playURL`、、`AdURL`、および広告メタデータを抽出します。
+ MediaTailor SSAI 広告メタデータを RAF が使用可能な広告メタデータに変換し、再生用に RAF を設定します。
+ ストリームイベントと時間指定メタデータの監視。
+ ストリームイベント、広告メタデータ、射撃イベントのピクセルを時間どおりに一致させます。
+ MediaTailor SSAI マニフェストサーバーの要求に応じて `AdURL`に Ping/ポーリングし、RAF を解析して再設定します。

RAF 用の SSAI アダプターの詳細については、[Roku ウェブサイトの「Roku Adapters を使用したサーバー側の広告挿入の実装](https://developer.roku.com/docs/developer-program/advertising/ssai-adapters.md)」を参照してください。

## TheoPlayer
<a name="ad-reporting-client-side-ad-tracking-integrations-theoplayer"></a>

MediaTailor との TheoPlayer 統合は、以下を実行します。
+ VOD ワークフローとライブワークフローの両方で、HLS と DASH の MediaTailor クライアント側のイベント追跡をサポートする機能を提供します。
+ リニア広告のみの追跡ビーコンの送信をサポートします。
+ 広告中の の探索を無効にします。ただし、ユーザーが広告時間枠を過ぎようとしたときに広告を再生するロジックはありません。

TheoPlayer の SSAI の詳細、および MediaTailor のウェブ、Android、iOS、tvOS SDKs[MediaTailor](https://docs.theoplayer.com/how-to-guides/01-ads/12-mediatailor.md)」を参照してください。 TheoPlayer 

## MediaTailor SDK
<a name="ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk"></a>

AWS Elemental は、JavaScript ベースのソフトウェア開発キット (SDK) を維持します。 AWS Elemental は SDK をそのまま提供しますが、黙示的な保証はありません。SDK をリファレンスデモとして使用して、MediaTailor を使用した へのオンボーディングを合理化します。SDK は、MediaTailor クライアント側の追跡 API を操作する方法を示しています。SDK は、HTML5-basedプレイヤーのクライアント側の広告追跡とレポートを実装します。SDK は MediaTailor クライアント側のレポートセッションを初期化し、定期的に広告追跡情報をリクエストします。再生中、SDK は新しい広告イベントが検出されたときに広告追跡イベントを出力します。

MediaTailor SDK は、以下の機能をサポートしています。
+ ライブプレイリストと VOD プレイリスト
+ DASH および HLS の仕様
+ クリックスルーイベント処理
+ 広告イベントディスパッチャ
+ カスタムイベントフック
+ クライアント側の広告ビーコン。広告ビーコンの送信の詳細については、「」を参照してください[クライアント側のビーコン](ad-reporting-client-side-beaconing.md)。

**注記**  
 AWS サポートチケットを送信して、サンプルの JavaScript SDK for MediaTailor を受け取ります。パッケージとそのファイルのダウンロードリンクを受け取ります。

## GetTracking を使用した広告ビーコンのページング
<a name="gettracking"></a>

`GetTracking` エンドポイントを使用して、プレイヤーに返される広告の数を絞り込みます。例えば、マニフェストウィンドウが広く、長時間にわたる場合、返される広告ビーコンの数はプレイヤーのパフォーマンスに影響を与える可能性があります。

`GetTracking` は、返されたビーコンのリストをページングすることで、返されたビーコンの数を絞り込むために使用できる`NextToken`値を返します。`NextToken` 値を循環して、広告ビーコンの `StartTimeInSeconds`フィールドの目的の値を見つけることができます。
+ への最初の呼び出しでは`GetTracking`、マニフェストウィンドウに含まれる可能性のあるすべての広告が返されます。これには、それぞれの `NextToken`および の値が含まれます。
+ `GetTracking` リクエストに が含まれ*ていない場合*`NextToken`、マニフェストウィンドウ内のすべての広告が返されます。
+ `GetTracking` リクエストに が含まれている`NextToken`が、返す新しいビーコンがない場合、MediaTailor は元のリクエストで送信`NextToken`した と同じ値を返します。
+ 広告に対応するビーコンがなくなると、 はレスポンスから広告`GetTracking`を削除します。
+ からのトークンは 24 時間後に`GetTracking`期限切れになります。`NextToken` 値が 24 時間以上経過している場合、 への次の呼び出しは null 値 `GetTracking`を返します`NextToken`。

### プレイヤーからの GetTracking の一般的な呼び出しシーケンス
<a name="gettracking.generalsequence"></a>

クライアントプレイヤーからの`GetTracking`リクエストは、トークンに関連する `NextToken`および 広告とビーコンを含むリクエスト本文を含む POST です。

```
https://YouMediaTailorUrl/v1/tracking
{

     "NextToken": "value"
     .
     .
     .
}
```

`GetTracking` で を使用する一般的な順序`NextToken`は次のとおりです。

1. を最初に呼び出します`GetTracking`。

   すべての広告とビーコン、および後続の呼び出し`NextToken`の最初の が返されます。

1. の値が null の場合、MediaTailor `NextToken`はすべての広告ビーコンを返します。

1. の有効期限が切れている場合、MediaTailor `NextToken`は HTTP リターンコード 400 エラーメッセージを返します。

   新しい を呼び出し`GetTracking`て、有効な を取得します`NextToken`。

1. レスポンス全体をスキャンして、目的の範囲内にある広告ビーコン`StartTimeInSeconds`の を見つけます。

1. 目的の `NextToken`に関連付けられた の値`GetTracking`を使用して、 に新しい呼び出しを行います`StartTimeInSeconds`。

1. 必要に応じて、再生したい広告が見つかるまで、返された広告をもう一度繰り返します。

#### 拡張例
<a name="gettracking.extendedexample"></a>

この例では、 `GetTracking`の `NextToken` を使用して、プレイヤーに返される広告ビーコンの数を制限する方法を示します。

MediaTailor は`GetTracking`リクエストを受け取ります。レスポンスには、ID 9935407 の広告と`StartTimeInSeconds`、値 52.286 秒と 48.332 秒の 2 つのビーコンが含まれています。

MediaTailor は、`NextToken`次のように で JSON レスポンスを送信します。

```
  {
  "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb
  "avails": [
    {
      "ads": [
        {
          "adId": "9935407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15S",
          "durationInSeconds": 15,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT30S",
          "StartTimeInSeconds": 45,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=Impression "
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935414",
              "eventType": "secondQuartile",
              "startTime": "PT52.286S",
              "StartTimeInSeconds": 52.286
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935412",
              "eventType": "firstQuartile",
              "startTime": "PT48.332S",
              "StartTimeInSeconds": 48.332
            }
          ],
          "vastAdId": ""
        }
      ],
      "startTime": "PT46.47S",
      "StartTimeInSeconds": 46.47
    }
  ]
}
```

次の`GetTracking`リクエストでは、MediaTailor は JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb `NextToken`という値で応答します。

MediaTailor は、前の呼び出し`NextToken`の で設定された `StartTimeInSeconds` に一致する広告とビーコンで応答します。

レスポンスに、ID 9235407 の以前の広告に加えて、ID 9935407 の別の広告が含まれているとします。広告 ID 9235407 のビーコンには、`StartTimeInSeconds`s 132.41 と 70.339 があります。

MediaTailor はセッション内のすべてのビーコンを繰り返して、ID 9235407 の広告からビーコン 3 とビーコン 4 である 52.286 秒`StartTimeInSeconds`を超えるビーコンを選択します。

```
{
  "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN
  "avails": [
    {
      "ads": [
        {
          "adId": "9235407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15.816S",
          "durationInSeconds": 19.716,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT2M0S",
          "StartTimeInSeconds": 120.0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935414",
              "eventType": "firstQuartile",
              "startTime": "PT1M10.330S",
              "StartTimeInSeconds": 70.339
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935412",
              "eventType": "secondQuartile",
              "startTime": "PT2M12.41S",
              "StartTimeInSeconds": 132.41
            }
          ],
          "vastAdId": ""
        },   
      ],
      "startTime": "PT36.47S",
      "StartTimeInSeconds": 36.47
    }
  ]
}
```