翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
広告後のレスポンス
起動時
MediaTailor は、VAST ラッパーリダイレクトの解決など、ADS からレスポンスを受信して解析POST_ADS_RESPONSEした後、 にマッピングされた関数を実行します。この関数は、MediaTailor が挿入する広告を選択する前に解析された広告を表示するため、ここで行った変更は、どの広告が広告時間枠を満たすかに影響します。
フックは、すべてのストリーミングプロトコル (HLS および DASH) とすべての再生モード (ライブ、VOD、およびプリロール) に対して起動します。通常、広告時間枠ごとに 1 回発生します。複数の広告時間枠を一度にカバーする ADS レスポンス (VMAP レスポンスなど) およびプリフェッチされた広告レスポンスの場合、MediaTailor がレスポンスを処理するとフックが起動し、avail入力名前空間は存在しません。$exists(avail) を使用して、avail フィールドにアクセスする前に を確認します。
Input
event.*、session.*、adsRequest.*、および adsResponse.*に加えて、レスポンスが 1 つの広告時間枠に適用されるavail.*場合。使用可能なすべてのフィールドについては、「」を参照してください入力フィールドリファレンス。
許可される出力名前空間
| Namespace | 使用できるタイプ | 出力の使用方法 |
|---|---|---|
adsResponse.ads |
広告オブジェクトの配列 | このレスポンスの解析済み広告リストを置き換えます。MediaTailor は、返された各広告を によって元の広告と照合adIdし、返されたリストで広告の選択に進みます。 |
temp.* |
いずれか | エグゼキュターのステップ間で値を渡すための一時的なデータ。永続化されません。 |
変更された広告リストを に書き戻しますadsResponse.ads。次のようにできます:
-
フィルター — 元の広告のサブセットを返します。省略した広告は挿入対象とは見なされず、その広告が占有した期間が他の広告で埋められるようになります。
-
並べ替え — 広告を別の順序で返します。順序は、どの広告が最初に広告時間枠を満たすかに影響します。
-
変更 — 広告
trackingEventsのdurationSeconds、adSystemadTitle、mediaFiles、、または を変更します。返された広告は変更されず、元の VAST メタデータがすべて保持されます。 -
挿入 — 元のレスポンスになかった広告を追加します。新しいエントリには、
adId、durationSeconds、および を含める必要がありますmediaFiles。同じフック呼び出しのVAST_REQUEST関数でフェッチされた広告は例外です。MediaTailoradIdは広告の完全な解析済み VAST データを復元するため、このような広告を で追加するだけで十分です。詳細については、「VAST リクエスト」を参照してください。
重要
フィルタリングするときは、必ず JSONata 配列コンストラクタまたは配列強制を使用してください。などのフィルター式は、1 つの広告が一致すると 1 つのオブジェクトadsResponse.ads[adSystem != 'BLOCKED']を生成します。ゼロ広告が一致すると、まったく値が生成されません。この場合、出力キーは省略され、フィルターは効果がありません。式を角括弧で囲むか、 を追加します[]。
{ "Output": { "adsResponse.ads": "{%adsResponse.ads[adSystem != 'BLOCKED'][]%}" } }
返される広告リストには、次のルールが適用されます。
-
2 つのエントリが を共有する場合
adId、最初の出現が優先されます。 -
無効なエントリは個別に拒否されます。同じ出力の有効なエントリは引き続き適用されます。
-
挿入されたエントリの が ADS レスポンスの広告と
adId衝突した場合、元の広告がベースとして使用され、その上にフィールドの変更が適用されます。
このフックに表示されないもの
このフックは広告選択の前に実行されるため、後で他の MediaTailor 機能が寄与する広告は表示されず、最終的に挿入される広告は判断できません。これは、トランスコードステータスとフィルの決定が後で行われるためです。プリフェッチされた広告の場合、MediaTailor がプリフェッチレスポンス自体を処理するとフックが起動します。後の広告時間枠では、以前にプリフェッチされた広告は、このフックの実行後にマージされるため、フックには表示されません。最終的な広告セットを操作するには、 を使用しますPRE_MANIFEST_INSERTION。
一般的なユースケース
-
競合する広告システムから広告を削除して、同じ広告ブレークに表示されないようにするなど、メタデータで広告をフィルタリングします (意図的な分離)。
-
プライマリレスポンスが短い場合は、
VAST_REQUEST関数を使用してセカンダリ広告サーバーから追加の広告を取得し、広告リストに追加します。 -
優先広告が広告時間枠を埋めるように広告の順序を変更します。
-
挿入前に追跡イベントまたは広告メタデータを変更します。
失敗動作
にアタッチされた関数がタイムアウト、式エラー、無効な出力などの何らかの理由でPOST_ADS_RESPONSE失敗した場合、MediaTailor は関数の出力を破棄します。リクエストは、関数がアタッチされていないかのように、元の ADS レスポンスで続行されます。シリアル化された入力が入力サイズ制限を超えると、MediaTailor はフック呼び出しを完全にスキップします。適用される制限については、「」を参照してください制限。