

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

# PRE\_ADS\_REQUEST
<a name="monetization-functions-hooks-pre-ads"></a>

## 當它觸發時
<a name="monetization-functions-hooks-pre-ads-when"></a>

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

## Input
<a name="monetization-functions-hooks-pre-ads-input"></a>

來自 `PRE_SESSION_INITIALIZATION`、加上 `avail.*`、 `scte.*`和 `adsRequest.*`(url、方法、標頭、內文） 的所有欄位。如需所有可用的欄位，請參閱 [輸入欄位參考](monetization-functions-hooks.md#monetization-functions-hooks-input-ref)。

## 允許輸出命名空間
<a name="monetization-functions-hooks-pre-ads-output"></a>


| 命名空間 | 接受的類型 | 如何使用輸出 | 
| --- | --- | --- | 
| player\_params.\* | 字串、數字、布林值 | 覆寫此廣告休息時間的工作階段播放器參數。透過 可供 ADS 請求 URL 使用[ADS 請求的 MediaTailor 動態廣告變數](variables.md)。 | 
| session.\* | 字串、數字、布林值 | 覆寫此廣告休息時間的工作階段變數。可透過動態變數替換提供給 ADS 請求 URL。 | 
| avail.\* | 字串、數字、布林值 | 覆寫此廣告休息時間的時段變數。可透過動態變數替換提供給 ADS 請求 URL。 | 
| scte.\* | 字串、數字、布林值 | 覆寫此廣告休息時間的 SCTE 變數。可透過動態變數替換提供給 ADS 請求 URL。 | 
| adsRequest.\* | String | 僅覆寫此廣告休息時間的 ADS 請求。支援的欄位：url、method、headers.<name>、body。url 值會視為範本，並在函數執行[ADS 請求的 MediaTailor 動態廣告變數](variables.md)後支援 。未保留。 | 

**注意**  
勾`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，並新增目前廣告休息時間的自訂標頭。

## 典型使用案例
<a name="monetization-functions-hooks-pre-ads-use-cases"></a>
+ 重寫 ADS 請求 URL，以在不同的廣告伺服器之間路由流量以進行 A/B 測試。
+ 將擴充資料 （對象區段、身分字符） 附加至 ADS 請求 URL 或標頭。
+ 根據 SCTE-35 訊號資料或可用索引，有條件地修改 ADS 請求參數。

## 失敗行為
<a name="monetization-functions-hooks-pre-ads-failure"></a>

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