

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# SORTIE\_PERSONNALISÉE
<a name="monetization-functions-types-custom-output"></a>

## Quand l’utiliser
<a name="monetization-functions-types-custom-output-when"></a>

`CUSTOM_OUTPUT`À utiliser lorsque la logique de votre fonction est purement informatique. Les cas d'utilisation courants incluent la classification des appareils en fonction des chaînes d'agents utilisateurs, la sélection des URL des serveurs de décision publicitaire avec une logique de A/B test et le reformatage des paramètres des joueurs avant qu'ils n'atteignent le serveur de décision publicitaire.

`CUSTOM_OUTPUT`les fonctions sont le type le plus rapide car elles évaluent les expressions en mémoire sans appel réseau. Choisissez ce type chaque fois que vous pouvez atteindre votre objectif sans contacter un service externe.

## Champs de configuration
<a name="monetization-functions-types-custom-output-fields"></a>

Une `CUSTOM_OUTPUT` fonction comporte deux champs :
+ **Runtime** — Langage d'expression. Réglez ce paramètre sur`JSONATA`.
+ **Sortie** — Carte des paires clé-valeur. Chaque clé est un nom de liaison de sortie (tel que`player_params.device_type`), et chaque valeur est une expression qui est MediaTailor évaluée lors de l'exécution.

**Note**  
`{%...%}`À utiliser pour encapsuler des expressions JSonata dans des champs de chaîne. Les valeurs dépourvues de ces délimiteurs sont traitées comme des chaînes statiques. Par exemple, `"{%session.id%}"` évalue l'expression alors qu'il `"session.id"` s'agit du texte littéral.

## Comportement d'exécution
<a name="monetization-functions-types-custom-output-behavior"></a>

Lorsqu'une `CUSTOM_OUTPUT` fonction est MediaTailor exécutée, elle évalue chaque expression du bloc de sortie par rapport à l'état actuel de la session. Toutes les expressions voient le même instantané d'entrée. Les résultats évalués deviennent les résultats de la fonction.

Si une expression ne parvient pas à être évaluée, MediaTailor supprime la sortie complète de la fonction et procède comme si aucune fonction n'était attachée. La fonction ne valide pas partiellement les résultats.

## Exemple : répartition A/B du trafic
<a name="monetization-functions-types-custom-output-example"></a>

La fonction suivante attribue de manière aléatoire chaque pause publicitaire à l'une des deux URL du serveur de décision publicitaire. Il est conçu pour le `PRE_ADS_REQUEST` cycle de vie.

```
{
    "FunctionId": "abTestAdsUrl",
    "FunctionType": "CUSTOM_OUTPUT",
    "CustomOutputConfiguration": {
        "Runtime": "JSONATA",
        "Output": {
            "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1' : 'https://ads.example.com/v2'%}"
        }
    }
}
```

Pour une présentation complète de cet exemple, consultez[Exemples de fonctions](monetization-functions-examples.md).