Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh 1: Pengayaan data
Skenario
Layanan streaming ingin mengambil data identitas pemirsa dari layanan eksternal (dalam hal ini, LiveRamp) pada awal sesi dan menyimpannya dalam parameter pemain untuk penargetan iklan nanti di sesi. Amplop identitas adalah pengenal terenkripsi yang disediakan oleh layanan resolusi identitas yang memungkinkan sistem iklan mengenali penampil di seluruh perangkat dan platform tanpa mengekspos informasi pribadi.
Konfigurasi
Ambil LiveRamp amplop (HTTP_REQUEST):
{ "FunctionId": "fetchLiveRamp", "FunctionType": "HTTP_REQUEST", "HttpRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}", "Headers": { "Authorization": "{%'Bearer ramp-token-789'%}" }, "RequestTimeoutMilliseconds": 2000, "Output": { "player_params.envelope_id": "{%response.body.envelopes[0].value%}" } } }
catatan
Ganti Bearer ramp-token-789 dengan kredensyal API Anda sendiri. Jangan menyimpan token sensitif secara langsung dalam konfigurasi fungsi dalam produksi. Pertimbangkan untuk menggunakan strategi rotasi token.
Tetapkan RequestTimeoutMilliseconds berdasarkan waktu respons yang diharapkan dari layanan eksternal Anda. Nilai yang lebih rendah mengurangi latensi tetapi meningkatkan kemungkinan kesalahan batas waktu.
Pemetaan fungsi
{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "fetchLiveRamp" } }
Apa yang terjadi ketika fungsi berjalan
Penampil memulai sesi pemutaran.
MediaTailor menjalankan hook
PRE_SESSION_INITIALIZATIONsiklus hidup dan berjalan.fetchLiveRampFungsi ini membangun URL permintaan menggunakan
player_params.hashedIddan memanggil LiveRamp API. Di URL,pidadalah ID mitra danivmerupakan pengidentifikasi penampil yang di-hash.Ekspresi output mengekstrak nilai dari amplop pertama dalam array respons (
response.body.envelopes[0].value) dan menuliskannya keplayer_params.envelope_id.
Tip
Untuk menangani kesalahan secara eksplisit, periksa response.statusCode sebelum mengakses data respons: {%response.statusCode = 200 ?
response.body.envelopes[0].value : ''%}
Untuk informasi lebih lanjut, lihat HTTP_REQUEST, PRE_SESSION_INISIALISASI, Pemecahan masalah dan pemantauan, dan Batas .