

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# CUSTOM\_OUTPUT
<a name="monetization-functions-types-custom-output"></a>

## Wann sollte dies verwendet werden?
<a name="monetization-functions-types-custom-output-when"></a>

Verwenden Sie diese `CUSTOM_OUTPUT` Option, wenn Ihre Funktionslogik rein rechnerisch ist. Zu den häufigsten Anwendungsfällen gehören die Klassifizierung von Geräten anhand von User-Agent-Strings, die Auswahl von URLs für Anzeigenentscheidungsserver mit A/B Testlogik und die Neuformatierung von Player-Parametern, bevor sie den Anzeigenentscheidungsserver erreichen.

`CUSTOM_OUTPUT`Funktionen sind der schnellste Typ, da sie Ausdrücke im Speicher ohne Netzwerkaufrufe auswerten. Wählen Sie diesen Typ, wann immer Sie Ihr Ziel erreichen können, ohne einen externen Dienst kontaktieren zu müssen.

## Felder für die Konfiguration
<a name="monetization-functions-types-custom-output-fields"></a>

Eine `CUSTOM_OUTPUT` Funktion hat zwei Felder:
+ **Runtime** — Die Ausdruckssprache. Stellen Sie dies auf ein`JSONATA`.
+ **Ausgabe** — Eine Zuordnung von Schlüssel-Wert-Paaren. Jeder Schlüssel ist ein Name für die Ausgabebindung (z. B.`player_params.device_type`), und jeder Wert ist ein Ausdruck, der zur Laufzeit MediaTailor ausgewertet wird.

**Anmerkung**  
Wird verwendet`{%...%}`, um JSONata-Ausdrücke in Zeichenfolgenfelder einzuschließen. Werte ohne diese Trennzeichen werden als statische Zeichenketten behandelt. Wertet beispielsweise den Ausdruck `"{%session.id%}"` aus, während es sich um den wörtlichen `"session.id"` Text handelt.

## Verhalten zur Laufzeit
<a name="monetization-functions-types-custom-output-behavior"></a>

Wenn eine `CUSTOM_OUTPUT` Funktion MediaTailor ausgeführt wird, vergleicht sie jeden Ausdruck im Ausgabeblock mit dem aktuellen Sitzungsstatus. Für alle Ausdrücke wird derselbe Eingabe-Snapshot angezeigt. Die ausgewerteten Ergebnisse werden zu den Ausgaben der Funktion.

Wenn ein Ausdruck nicht ausgewertet werden kann, wird die gesamte MediaTailor Ausgabe der Funktion verworfen und der Vorgang wird fortgesetzt, als ob keine Funktion angehängt wäre. Die Funktion überträgt die Ergebnisse nicht teilweise.

## Beispiel: Aufteilung A/B des Datenverkehrs
<a name="monetization-functions-types-custom-output-example"></a>

Die folgende Funktion weist jede Werbeunterbrechung nach dem Zufallsprinzip einer von zwei Ad Decision Server-URLs zu. Sie ist für den `PRE_ADS_REQUEST` Lifecycle-Hook konzipiert.

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

Eine vollständige exemplarische Vorgehensweise für dieses Beispiel finden Sie unter[Beispiele für Funktionen](monetization-functions-examples.md).