

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.

# Beispiel 2: Aufteilung A/B des Datenverkehrs
<a name="monetization-functions-examples-ab"></a>

## Szenario
<a name="monetization-functions-examples-ab-scenario"></a>

Ein Streaming-Dienst möchte eine CUSTOM\_OUTPUT-Funktion verwenden, um den Traffic mit Anzeigenanfragen nach dem Zufallsprinzip auf zwei ADS-URLs (Ad Decision Server) zu Testzwecken A/B aufzuteilen. Die Hälfte der Anzeigenanfragen geht an den v1-Endpunkt und die andere Hälfte an den v2-Endpunkt.

## Konfiguration
<a name="monetization-functions-examples-ab-config"></a>

**A/B Aufteilung des Datenverkehrs (CUSTOM\_OUTPUT):**

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

In dieser Konfiguration:
+ `FunctionId`— Ein eindeutiger Name für diese Funktion.
+ `FunctionType`— `CUSTOM_OUTPUT` wertet Ausdrücke aus, ohne HTTP-Aufrufe zu tätigen.
+ `Output`— Entspricht `adsRequest.url` einem Ausdruck, der zufällig eine von zwei ADS-URLs auswählt.

## Zuordnung von Funktionen
<a name="monetization-functions-examples-ab-mapping"></a>

```
{
    "FunctionMapping": {
        "PRE_ADS_REQUEST": "abTestAdsUrl"
    }
}
```

## Was passiert, wenn die Funktion ausgeführt wird
<a name="monetization-functions-examples-ab-runtime"></a>

1. Während der Wiedergabe ist eine Werbeunterbrechung aufgetreten.

1. MediaTailor führt den `PRE_ADS_REQUEST` Lifecycle-Hook aus und läuft`abTestAdsUrl`.

1. Die `$random()` Funktion gibt einen Wert zwischen 0 und 1 zurück. Wenn der Wert kleiner als 0,5 ist, setzt die Funktion die ADS-URL auf den v1-Endpunkt. Andernfalls wird die URL auf den v2-Endpunkt gesetzt.

Die `$random()` Funktion wird bei jeder Werbeunterbrechung evaluiert, sodass die Aufteilung pro Anzeigenanfrage und nicht pro Sitzung erfolgt.

**Tipp**  
Um das Verhältnis der Traffic-Aufteilung anzupassen, ändern Sie den Schwellenwert. `$random() < 0.8`Sendet beispielsweise 80% des Datenverkehrs an die erste URL und 20% an die zweite.

**Anmerkung**  
Beim Schreiben in wird die `adsRequest.url` in der Wiedergabekonfiguration für die aktuelle Werbepause konfigurierte Standard-ADS-URL außer Kraft gesetzt.

Weitere Informationen finden Sie unter [Benutzerdefinierte Ausgabe](monetization-functions-types-custom-output.md), [Pre-ads Anfrage](monetization-functions-hooks-pre-ads.md) und [JSONata-Ausdrucksreferenz](monetization-functions-jsonata.md).