

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh 2: pemis A/B ahan lalu lintas
<a name="monetization-functions-examples-ab"></a>

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

Layanan streaming ingin menggunakan fungsi CUSTOM\_OUTPUT untuk membagi lalu lintas permintaan iklan secara acak antara dua URL server keputusan iklan (ADS) untuk A/B pengujian. Setengah dari permintaan iklan pergi ke titik akhir v1 dan setengahnya menuju titik akhir v2.

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

**A/B pemisahan lalu lintas (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%}"
        }
    }
}
```

Dalam konfigurasi ini:
+ `FunctionId`— Nama unik untuk fungsi ini.
+ `FunctionType`— `CUSTOM_OUTPUT` mengevaluasi ekspresi tanpa melakukan panggilan HTTP.
+ `Output`— Memet `adsRequest.url` akan ke ekspresi yang secara acak memilih salah satu dari dua URL ADS.

## Pemetaan fungsi
<a name="monetization-functions-examples-ab-mapping"></a>

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

## Apa yang terjadi ketika fungsi berjalan
<a name="monetization-functions-examples-ab-runtime"></a>

1. Jeda iklan ditemui selama pemutaran.

1. MediaTailor menjalankan kait `PRE_ADS_REQUEST` siklus hidup dan menjalankan`abTestAdsUrl`.

1. `$random()`Fungsi mengembalikan nilai antara 0 dan 1. Jika nilainya kurang dari 0,5, fungsi menetapkan URL ADS ke titik akhir v1. Jika tidak, itu menetapkan URL ke titik akhir v2.

`$random()`Fungsi dievaluasi pada setiap jeda iklan, jadi pemisahannya adalah per permintaan iklan, bukan per sesi.

**Tip**  
Untuk menyesuaikan rasio pemisahan lalu lintas, ubah nilai ambang batas. Misalnya, `$random() < 0.8` mengirim 80% lalu lintas ke URL pertama dan 20% ke yang kedua.

**catatan**  
Menulis untuk `adsRequest.url` mengganti URL ADS default yang dikonfigurasi dalam konfigurasi pemutaran untuk jeda iklan saat ini.

Lihat informasi selengkapnya di [Output kustom](monetization-functions-types-custom-output.md), [Pre-ads permintaan](monetization-functions-hooks-pre-ads.md), dan [JSONatareferensi ekspresi](monetization-functions-jsonata.md).