Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh 2: pembagian A/B lalu lintas
Skenario
Layanan streaming ingin menggunakan fungsi CUSTOM_OUTPUT untuk membagi lalu lintas permintaan iklan secara acak antara dua URL server keputusan iklan (ADS) untuk pengujian. A/B Setengah dari permintaan iklan masuk ke titik akhir v1 dan setengahnya pergi ke titik akhir v2.
Konfigurasi
A/B pembagian 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_OUTPUTmengevaluasi ekspresi tanpa membuat panggilan HTTP. -
Output— MemetakanadsRequest.urlke ekspresi yang secara acak memilih salah satu dari dua URL ADS.
Pemetaan fungsi
{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }
Apa yang terjadi ketika fungsi berjalan
Jeda iklan ditemukan selama pemutaran.
MediaTailor menjalankan hook
PRE_ADS_REQUESTsiklus hidup dan berjalan.abTestAdsUrl$random()Fungsi mengembalikan nilai antara 0 dan 1. Jika nilainya kurang dari 0,5, fungsi menetapkan URL ADS ke titik akhir v1. Jika tidak, ia menetapkan URL ke titik akhir v2.
$random()Fungsi dievaluasi pada setiap jeda iklan, sehingga pembagiannya adalah per permintaan iklan, bukan per sesi.
Tip
Untuk menyesuaikan rasio split lalu lintas, ubah nilai ambang batas. Misalnya, $random() < 0.8 mengirimkan 80% lalu lintas ke URL pertama dan 20% ke URL kedua.
catatan
Menulis untuk adsRequest.url mengganti URL ADS default yang dikonfigurasi dalam konfigurasi pemutaran untuk jeda iklan saat ini.
Lihat informasi selengkapnya di KUSTOM_OUTPUT, PRE_ADS_REQUEST, dan Referensi ekspresi Jsonata.