

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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>


| Namespace | 使用できるタイプ | 出力の使用方法 | 
| --- | --- | --- | 
| player\_params.\* | 文字列、数値、ブール値 | この広告ブレークのセッションプレイヤーパラメータを上書きします。を通じて ADS リクエスト URL で使用できます[ADS リクエストの MediaTailor 動的広告変数](variables.md)。 | 
| session.\* | 文字列、数値、ブール値 | この広告ブレークのセッション変数を上書きします。動的変数置換を使用して ADS リクエスト URL で使用できます。 | 
| avail.\* | 文字列、数値、ブール値 | この広告ブレークの 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 またはヘッダーにエンリッチメントデータ (オーディエンスセグメント、ID トークン) を追加します。
+ SCTE-35 シグナルデータまたは avail インデックスに基づいて ADS リクエストパラメータを条件付きで変更します。

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

にアタッチされた関数が何らかの理由で`PRE_ADS_REQUEST`失敗した場合、MediaTailor は関数の出力を破棄し、関数がアタッチされていないかのように続行します。ADS リクエストは、変更せずに元のセッションとリクエストパラメータを使用して送信されます。