翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアント側の広告追跡
以下を使用 AWS Elemental MediaTailor クライアント側の追跡 ではAPI、広告ブレーク中にプレイヤーコントロールをストリーミングワークフローに組み込むことができます。クライアント側の追跡では、プレイヤーまたはクライアントは、インプレッションや四分位広告ビーコンなどの追跡イベントを広告決定サーバー (ADS) やその他の広告検証エンティティに発行します。インプレッションと四分位数の広告ビーコンの詳細については、「」を参照してくださいクライアント側ビーコン。ADS およびその他の広告検証エンティティの詳細については、「」を参照してくださいクライアント側の広告追跡統合。
クライアント側の追跡では、次のような機能が有効になります。
-
アドブレークカウントダウンタイマー - 詳細については、「」を参照してください広告カウントダウンタイマー。
-
広告のクリックスルー - 詳細については、「」を参照してください広告のクリックスルー。
-
コンパニオン広告の表示 - 詳細については、「」を参照してくださいコンパニオン広告。
-
スキップ可能な広告 - 詳細については、「」を参照してくださいスキップ可能な広告。
-
プライバシーコンプライアンスVASTのアイコンの表示 - 詳細については、「」を参照してくださいGoogle Why This Ad のアイコン (WTA)。
-
広告中のプレイヤースクラブの制御 - 詳細については、「」を参照してくださいスクラブ。
MediaTailor クライアント側の追跡 を使用するとAPI、クライアント側の追跡に加えて機能を有効にするメタデータを再生デバイスに送信できます。
トピック
クライアント側の追跡の有効化
セッションごとにクライアント側の追跡を有効にします。プレイヤーは、 MediaTailor 設定のセッション初期化プレフィックスエンドポイントHTTPPOST
に を作成します。オプションで、プレイヤーは、広告呼び出し、マニフェストのオリジンの呼び出し、セッションレベルでの機能の呼び出しまたは無効化 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を使用して、これらのパラメータを参照URLするようにADSリクエストテンプレートを設定します。次の例では、 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
、JSON構造の最上位レベル内の予約されたキーavailSuppression
と値のペアはoverlayAvails
、クエリパラメータのURL形式でオリジンリクエストに追加されません。がオリジンに対して MediaTailor 行うすべてのセッションマニフェストリクエストには、これらのクエリパラメータが含まれます。オリジンは、無関係なクエリパラメータを無視します。例えば、 MediaTailor はキーと値のペアを使用して、アクセストークンをオリジンに送信できます。
セッション設定機能
session-initialization JSON構造を使用して、、、 などの機能を有効overlayAvails
、無効にavailSuppression
、または上書き MediaTailorします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" } }
正常なレスポンスは、レスポンス本文HTTP200
を持つ です。本文には、 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 を行うためのベストプラクティスの概要を説明します。
ライブワークフロー
最新の広告追跡メタデータを常に取得DASHするためにHLS、 のすべてのターゲット期間、または の最小更新期間に一致する間隔で追跡エンドポイントをポーリングします。この間隔を一致させることは、クリエイティブにインタラクティブコンポーネントまたはオーバーレイコンポーネントがあるワークフローでは特に重要です。
注記
一部のプレイヤーはイベントリスナーをサポートしており、ポーリングの代替として使用できます。例えば、 MediaTailor 広告 ID デコレーション機能はセッションごとに有効にする必要があります。詳細については、「広告 ID デコレーション」を参照してください。この機能を使用すると、avail の各広告に日付範囲 (HLS) またはイベント要素 (DASH) 識別子が設定されます。プレイヤーは、これらのマニフェストタグをセッション MediaTailor の追跡エンドポイントを呼び出すプロンプトとして使用できます。
VOD ワークフロー
セッションの初期化が成功し、 がメディアを含む最初のマニフェストを受信した後 MediaTailor、追跡エンドポイントを呼び出す必要があるのは 1 回だけです。
を使用した広告ビーコンのページング GetTracking
GetTracking
エンドポイントを使用して、プレイヤーに返される広告の数を絞り込みます。例えば、マニフェストウィンドウが広く、多くの時間にわたる場合、返される広告ビーコンの数はプレイヤーのパフォーマンスに影響を与える可能性があります。
GetTracking
は、返されたビーコンのリストをページングすることで、返されたビーコンの数を絞り込むために使用できるNextToken
値を返します。NextToken
値をサイクルスルーして、広告ビーコンの StartTimeInSeconds
フィールドの目的の値を見つけることができます。
-
への最初の呼び出しでは
GetTracking
、マニフェストウィンドウに含まれる可能性のあるすべての広告が返されます。これには、それぞれのNextToken
および の値が含まれます。 GetTracking
リクエストに が含まれていない場合NextToken
、マニフェストウィンドウ内のすべての広告が返されます。GetTracking
リクエストに が含まれているNextToken
が、返す新しいビーコンがない場合、 は元のリクエストで送信NextToken
したのと同じ値を MediaTailor に返します。広告に対応するビーコンがなくなった場合、 はレスポンスから広告
GetTracking
を削除します。からのトークンは 24 時間後に
GetTracking
期限切れになります。NextToken
値が 24 時間以上経過している場合、 への次の呼び出しは null 値GetTracking
を返しますNextToken
。
プレイヤー GetTracking からの の一般化された呼び出しシーケンス
クライアントプレイヤーからのGetTracking
リクエストは、トークンに関連する NextToken
および 広告とビーコンを含むリクエスト本文POSTを持つ です。
https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }
GetTracking
で を使用するための一般的な順序NextToken
は次のとおりです。
を最初に呼び出します
GetTracking
。すべての広告とビーコン、および後続の呼び出し
NextToken
の最初の が返されます。の値が null の場合、
NextToken
はすべての広告ビーコン MediaTailor を返します。の有効期限が切れている場合、
NextToken
はHTTPリターンコード 400 のエラーメッセージ MediaTailor を返します。に新しい呼び出し
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
リクエストでは、 はNextToken
値 JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgM MediaTailor に対応しますbKEb。
MediaTailor は、前の呼び出しの で設定された StartTimeInSeconds
に一致する広告とビーコンで応答NextToken
します。
これで、ID 9235407 の以前の広告に加えて、ID 9935407 の別の広告がレスポンスに含まれていると仮定します。広告 ID 9235407 のビーコンには、次の図に示すように StartTimeInSeconds
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 } ] }