

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

# 例 1: データエンリッチメント
<a name="monetization-functions-examples-enrichment"></a>

## シナリオ
<a name="monetization-functions-examples-enrichment-scenario"></a>

ストリーミングサービスは、セッションの開始時に外部サービス (この場合は LiveRamp) からオーディエンスアイデンティティデータを取得し、セッションの後半で広告ターゲティングのためにプレイヤーパラメータに保存したいと考えています。ID エンベロープは、アイデンティティ解決サービスによって提供される暗号化された識別子であり、広告システムが個人情報が公開されることなく、デバイスやプラットフォーム間でビューワーを認識できるようにします。

## 設定
<a name="monetization-functions-examples-enrichment-config"></a>

**LiveRamp エンベロープ (HTTP\_REQUEST):**

```
{
    "FunctionId": "fetchLiveRamp",
    "FunctionType": "HTTP_REQUEST",
    "HttpRequestConfiguration": {
        "Runtime": "JSONATA",
        "MethodType": "GET",
        "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}",
        "Headers": {
            "Authorization": "{%'Bearer ramp-token-789'%}"
        },
        "RequestTimeoutMilliseconds": 2000,
        "Output": {
            "player_params.envelope_id": "{%response.body.envelopes[0].value%}"
        }
    }
}
```

**注記**  
を独自の API 認証情報`Bearer ramp-token-789`に置き換えます。機密性の高いトークンを本番環境の関数設定に直接保存しないでください。トークンローテーション戦略の使用を検討してください。

外部サービスの予想される応答時間`RequestTimeoutMilliseconds`に基づいて を設定します。値を小さくするとレイテンシーは短縮されますが、タイムアウトエラーが発生する可能性が高くなります。

## 関数マッピング
<a name="monetization-functions-examples-enrichment-mapping"></a>

```
{
    "FunctionMapping": {
        "PRE_SESSION_INITIALIZATION": "fetchLiveRamp"
    }
}
```

## 関数が実行されるとどうなるか
<a name="monetization-functions-examples-enrichment-runtime"></a>

1. ビューワーが再生セッションを開始します。

1. MediaTailor は`PRE_SESSION_INITIALIZATION`ライフサイクルフックを実行し、 を実行します`fetchLiveRamp`。

1. この関数は、 を使用してリクエスト URL を構築し`player_params.hashedId`、LiveRamp API を呼び出します。URL では、 `pid`はパートナー ID で、 `iv`はハッシュされたビューワー識別子です。

1. 出力式は、レスポンス配列 (`response.body.envelopes[0].value`) の最初のエンベロープから値を抽出し、 に書き込みます`player_params.envelope_id`。

**ヒント**  
エラーを明示的に処理するには、レスポンスデータにアクセスする`response.statusCode`前に を確認してください。 `{%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}`

詳細については、「[HTTP\_REQUEST](monetization-functions-types-http-request.md)」、「[PRE\_SESSION\_INITIALIZATION](monetization-functions-hooks-pre-session.md)」、「[トラブルシューティングとモニタリング](monetization-functions-troubleshooting.md)」、および「[制限](monetization-functions-limits.md)」を参照してください。