翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Elemental MediaTailor クライアント側の追跡 API を使用すると、広告ブレーク中にプレイヤーコントロールをストリーミングワークフローに組み込むことができます。クライアント側の追跡では、プレイヤーまたはクライアントはインプレッションや四分位広告ビーコンなどの追跡イベントを広告決定サーバー (ADS) やその他の広告検証エンティティに出力します。インプレッションと四分位数の広告ビーコンの詳細については、「」を参照してくださいクライアント側のビーコン。ADS およびその他の広告検証エンティティの詳細については、「」を参照してくださいクライアント側の広告追跡統合。
クライアント側の追跡では、次のような機能が有効になります。
-
広告ブレークカウントダウンタイマー - 詳細については、「」を参照してください広告カウントダウンタイマー。
-
広告クリックスルー - 詳細については、「」を参照してください広告のクリックスルー。
-
コンパニオン広告の表示 - 詳細については、「」を参照してくださいコンパニオン広告。
-
スキップ可能な広告 - 詳細については、「」を参照してくださいスキップ可能な広告。
-
プライバシーコンプライアンス用の VAST アイコンの表示 - 詳細については、「」を参照してくださいGoogle Why This Ad (WTA) のアイコン。
-
広告中のプレイヤースクラブの制御 - 詳細については、「」を参照してくださいスクラブ。
MediaTailor クライアント側追跡 API を使用すると、クライアント側追跡に加えて機能を有効にするメタデータを再生デバイスに送信できます。
トピック
クライアント側の追跡の有効化
セッションごとにクライアント側の追跡を有効にします。プレイヤーは 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]
¶m2=[player_params.param2]
広告サーバーパラメータ
JSON 構造の最上位レベルには adsParams
JSON オブジェクトがあります。このオブジェクト内には、MediaTailor がすべてのセッションリクエストで広告サーバーを読み取って送信できるキーと値のペアがあります。MediaTailor は、次の広告サーバーをサポートしています。
-
Google 広告マネージャー
-
SpringServe
-
FreeWheel
-
パブリカ
オリジンインタラクションクエリパラメータ
adParams
、、 などavailSuppression
、JSON 構造の最上位レベル内の予約されたキーと値のペアはoverlayAvails
、クエリパラメータの形式でオリジンリクエスト URL に追加されません。MediaTailor がオリジンに対して行うすべてのセッションマニフェストリクエストには、これらのクエリパラメータが含まれます。オリジンは無関係なクエリパラメータを無視します。例えば、MediaTailor はキーと値のペアを使用して、オリジンにアクセストークンを送信できます。
セッション設定機能
session-initialization JSON 構造を使用して、、overlayAvails
、 などの MediaTailor 機能を有効、無効にavailSuppression
、または上書きしますadSignaling
。セッションの初期化中に渡された機能設定は、MediaTailor 設定レベルでの設定よりも優先されます。
注記
セッションの初期化時に MediaTailor に送信されるメタデータはイミュータブルであり、セッション中はメタデータを追加できません。SCTE-35 マーカーを使用して、セッション中に変更されたデータを保持します。詳細については、「セッション変数の使用」を参照してください。
例 : 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" } }
例 : DASH のクライアント側の広告追跡の実行
POST
mediatailorURL
/v1/session/hashed-account-id
/origin-id
/asset-id
.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }
正常なレスポンスは、レスポンス本文200
を含む HTTP です。本文には、 manifestUrl
とtrackingUrl
キーを含む JSON オブジェクトが含まれています。値は、プレイヤーが再生と広告イベントの追跡の両方の目的で使用できる相対 URLs です。
{ "manifestUrl": "/v1/
dash
master
/hashed-account-id
/origin-id
/asset-id
.m3u8?aws.sessionId=session-id
", "trackingUrl": "/v1/tracking/hashed-account-id
/origin-id
/session-id
" }
クライアント側の追跡スキーマの詳細については、「」を参照してくださいクライアント側の広告追跡スキーマとプロパティ。
クライアント側追跡のベストプラクティス
このセクションでは、ライブワークフローと VOD ワークフローの両方について、MediaTailor でクライアント側の追跡を行うためのベストプラクティスの概要を説明します。
ライブワークフロー
HLS のすべてのターゲット期間、または DASH の最小更新期間に一致する間隔で追跡エンドポイントをポーリングし、常に最新の広告追跡メタデータを保持します。この間隔を一致させることは、クリエイティブにインタラクティブコンポーネントまたはオーバーレイコンポーネントがあるワークフローで特に重要です。
注記
一部のプレイヤーはイベントリスナーをサポートしており、ポーリングの代わりに使用できます。例えば、MediaTailor 広告 ID デコレーション機能はセッションごとに有効にする必要があります。詳細については、「広告 ID デコレーション」を参照してください。この機能を使用すると、avail の各広告に日付範囲 (HLS) またはイベント要素 (DASH) 識別子が配置されます。プレイヤーは、これらのマニフェストタグを、セッションの MediaTailor 追跡エンドポイントを呼び出すプロンプトとして使用できます。
VOD ワークフロー
セッションの初期化が成功し、MediaTailor がメディアを含む最初のマニフェストを受け取った後、追跡エンドポイントを呼び出す必要があるのは 1 回だけです。

GetTracking を使用した広告ビーコンのページング
GetTracking
エンドポイントを使用して、プレイヤーに返される広告の数を絞り込みます。例えば、マニフェストウィンドウが広く、長時間にわたる場合、返される広告ビーコンの数はプレイヤーのパフォーマンスに影響を与える可能性があります。
GetTracking
は、返されたビーコンのリストをページングすることで、返されたビーコンの数を絞り込むために使用できるNextToken
値を返します。NextToken
値をサイクルスルーして、広告ビーコンの StartTimeInSeconds
フィールドの目的の値を見つけることができます。
-
への最初の呼び出しでは
GetTracking
、マニフェストウィンドウに含まれる可能性のあるすべての広告が返されます。これには、それぞれのNextToken
および の値が含まれます。 GetTracking
リクエストに が含まれていない場合NextToken
、マニフェストウィンドウ内のすべての広告が返されます。GetTracking
リクエストに が含まれているNextToken
が、返す新しいビーコンがない場合、MediaTailor は元のリクエストで送信NextToken
した と同じ値を返します。広告に対応するビーコンがなくなると、 はレスポンスから広告
GetTracking
を削除します。からのトークンは 24 時間後に
GetTracking
期限切れになります。NextToken
値が 24 時間以上経過している場合、 の次の呼び出しは null 値GetTracking
を返しますNextToken
。
プレイヤーからの GetTracking の一般的な呼び出しシーケンス
クライアントプレーヤーからのGetTracking
リクエストは、トークンに関連する NextToken
および 広告とビーコンを含むリクエスト本文を含む POST です。
https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }
GetTracking
で を使用するための一般的な順序NextToken
は次のとおりです。
を最初に呼び出します
GetTracking
。すべての広告とビーコン、および後続の呼び出し
NextToken
の最初の が返されます。の値が null の場合、MediaTailor
NextToken
はすべての広告ビーコンを返します。の有効期限が切れている場合、MediaTailor
NextToken
は HTTP リターンコード 400 エラーメッセージを返します。を新たに呼び出し
GetTracking
て、有効な を取得しますNextToken
。レスポンス全体をスキャンして、目的の範囲内にある広告ビーコン
StartTimeInSeconds
の を見つけます。目的の
NextToken
に関連付けられた の値GetTracking
を使用して、 に新しい呼び出しを行いますStartTimeInSeconds
。必要に応じて、再生する広告が見つかるまで、返された広告をもう一度繰り返します。
拡張例
この例では、 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 } ] }