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 audiens dari layanan eksternal (dalam hal ini, LiveRamp) saat sesi dimulai 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 pemirsa 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 kredentif 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
Pemirsa memulai sesi pemutaran.
MediaTailor menjalankan kait
PRE_SESSION_INITIALIZATIONsiklus hidup dan menjalankanfetchLiveRamp.Fungsi membangun URL permintaan menggunakan
player_params.hashedIddan memanggil LiveRamp API. Dalam URL,pidadalah ID mitra danivmerupakan pengenal penampil yang di-hash.Ekspresi keluaran mengekstrak nilai dari amplop pertama dalam array respons (
response.body.envelopes[0].value) dan menulisnya 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 Permintaan HTTP, Pre-session inisialisasi, Pemecahan masalah dan pemantauan, dan Batas .