View a markdown version of this page

廣告前請求 - AWS Elemental MediaTailor

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

廣告前請求

當它觸發時

MediaTailor 會在將請求傳送至 ADS 之前,立即執行映射至每個廣告休息時間PRE_ADS_REQUEST一次的函數。每次在資訊清單處理期間遇到廣告機會時,函數都會執行。

Input

來自 PRE_SESSION_INITIALIZATION、加上 avail.*、scte.*、inference.*、 asset.*和 adsRequest.*(url、方法、標頭、內文) 的所有欄位。如需所有可用的欄位,請參閱 輸入欄位參考。

Elemental Inference 內容中繼資料變數 (inference.*)

當您的上游編碼器 (例如 AWS Elemental MediaLive) 設定為內容中繼資料擴充時,它會在 SCTE-35 廣告休息時間標記中嵌入 Elemental Inference 查詢參數。MediaTailor 會自動剖析這些標記,並在inference命名空間中公開下列唯讀變數。這些變數是動態設定呼叫 Elemental Inference AWS_SERVICE_REQUEST函數的主要機制。

注意

inference.* 變數僅適用於PRE_ADS_REQUEST掛鉤。它們不適用於 PRE_SESSION_INITIALIZATION。

欄位 Type 描述
inference.enriched Boolean true 如果找到元素推論資料並從 SCTE-35 標記成功剖析。使用其他inference.*欄位之前,請先檢查此項目。
inference.feedId String Elemental Inference 饋送識別符。
inference.dataEndpoint String Elemental Inference 饋送的資料端點 URL 字首。使用此值來建構完整的 GetMetadata URL。
inference.pts Long 對應到廣告休息時間訊號的簡報時間戳記 (PTS)。用作查詢時段的結尾。
inference.timescale Long 解譯 PTS 值的時間範圍 (例如,90 kHz 為 90000 kHz )。
inference.region String 從查詢 URL AWS 擷取的區域。將此做為AWS_SERVICE_REQUEST函數TargetRegion的 。
inference.previousBreakEndPts Long 內容在上一個廣告休息時間後恢復的 PTS。使用此值作為查詢時間範圍的開始,僅分析休息時間之間播放的內容。工作階段中沒有第一個廣告休息時間。
inference.parseError Boolean true 如果找到元素推論標記,但無法剖析。指出上游編碼器的組態問題。

這些變數是唯讀的。函數無法修改inference.*值。

當 inference.enriched為 false或 不存在時,其餘inference.*欄位無法使用。您的JSONata表達式必須包含備用值,才能正常處理此案例。

如需如何實際使用這些變數,請參閱 Elemental Inference 整合。

允許輸出命名空間

命名空間 接受的類型 如何使用輸出
player_params.* 字串、數字、布林值 覆寫此廣告休息時間的工作階段播放器參數。透過 可供 ADS 請求 URL 使用ADS 請求的 MediaTailor 動態廣告變數。
session.* 字串、數字、布林值 覆寫此廣告休息時間的工作階段變數。透過動態變數替換,可供 ADS 請求 URL 使用。
avail.* 字串、數字、布林值 覆寫此廣告休息時間的時段變數。透過動態變數替換,可供 ADS 請求 URL 使用。
scte.* 字串、數字、布林值 覆寫此廣告休息時間的 SCTE 變數。透過動態變數替換,可供 ADS 請求 URL 使用。
asset.* 字串、數字、布林值 覆寫此廣告休息時間的資產中繼資料變數 (來自EXT-X-ASSET標籤)。可透過動態變數替換提供給 ADS 請求 URL。如需詳細資訊,請參閱HLS 支援的廣告標記。
adsRequest.* String 僅覆寫此廣告休息時間的 ADS 請求。支援的欄位:url、method、headers.<name>、body。url 值會視為範本,並在函數執行ADS 請求的 MediaTailor 動態廣告變數後支援 。未保留。
注意

勾PRE_ADS_REQUEST點的所有輸出都是暫時性覆寫。它僅適用於目前廣告休息時間的 ADS 請求,不會保留到工作階段。

範例 — 重寫 ADS 請求:

{ "Output": { "adsRequest.url": "{%'https://ads.example.com/v1/vast?sid=' & session.id & '&genre=' & player_params.genre%}", "adsRequest.headers.X-Custom-Token": "{%player_params.auth_token%}" } }

這會取代 ADS URL,並新增目前廣告休息時間的自訂標頭。

典型使用案例

  • 重寫 ADS 請求 URL,以在不同的廣告伺服器之間路由流量以進行 A/B 測試。

  • 將擴充資料 (對象區段、身分字符) 附加至 ADS 請求 URL 或標頭。

  • 根據 SCTE-35 訊號資料或可用索引,有條件地修改 ADS 請求參數。

  • 查詢內容分類和品牌安全訊號的元素推論,以啟用內容式廣告目標。

失敗行為

如果連接至 的函數因任何原因PRE_ADS_REQUEST失敗,MediaTailor 會捨棄函數的輸出,並像未連接函數一樣繼續。ADS 請求是使用原始工作階段和請求參數傳送,無需修改。