Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Client-side pelacakan iklan
Menggunakan API pelac AWS Elemental MediaTailor akan sisi klien, Anda dapat menggabungkan kontrol pemain selama jeda iklan dalam alur kerja streaming. Dalam pelacakan sisi klien, pemain atau klien mengirimkan peristiwa pelacakan, seperti tayangan dan beacon iklan kuartil, ke Server Keputusan Iklan (ADS) dan entitas verifikasi iklan lainnya. Acara ini melacak status jeda iklan secara keseluruhan dan iklan individual yang tersedia dalam setiap jeda. Untuk informasi selengkapnya tentang tayangan dan kuartil (ADS) dan entitas verifikasi iklan lainnya. Untuk informasi selengkapnya tentang tayangan dan beacon iklan kuartil, lihat. Client-side mercusuar Untuk informasi selengkapnya tentang ADS dan entitas verifikasi iklan lainnya, lihatClient-side integrasi pelacakan iklan.
Untuk informasi tentang meneruskan parameter pemain dan data sesi ke ADS untuk pelacakan sisi klien, lihat MediaTailor variabel pemain untuk permintaan ADS dan. MediaTailor variabel sesi untuk permintaan ADS
Client-side pelacakan memungkinkan fungsionalitas seperti berikut:
-
Ad-break penghitung waktu mundur - Untuk informasi lebih lanjut, lihatPenghitung waktu mundur iklan.
-
Klik iklan - Untuk informasi selengkapnya, lihat. Klik iklan
-
Tampilan iklan pendamping - Untuk informasi selengkapnya, lihatIklan pendamping.
-
Iklan yang dapat dilewati - Untuk informasi selengkapnya, lihat. Iklan yang dapat dilewati
-
Tampilan ikon VAST untuk kepatuhan privasi - Untuk informasi lebih lanjut, lihatIkon untuk Google Mengapa Iklan Ini (WTA).
-
Kontrol penggosokan pemain selama iklan - Untuk informasi selengkapnya, lihatMenggosok.
Menggunakan API pelac MediaTailor akan sisi klien, Anda dapat mengirim metadata ke perangkat pemutaran yang mengaktifkan fungsionalitas selain pelacakan sisi klien:
Client-side alur kerja pelaporan
Diagram berikut menunjukkan alur kerja pelaporan sisi klien lengkap dari inisialisasi sesi hingga pemutaran iklan dan beacon:
Alur kerja pelaporan sisi klien mencakup langkah-langkah berikut:
-
Inisialisasi sesi - Pemutar video mengirimkan permintaan POST ke titik akhir MediaTailor sesi dengan metadata JSON termasuk
adsParams, token asal, dan fitur sesi. MediaTailor merespons denganmanifestUrldantrackingUrluntuk sesi. -
Permintaan manifes dan keputusan iklan - Pemain meminta manifes yang dipersonalisasi dari MediaTailor. MediaTailor meminta manifes konten asli dari asal, membuat permintaan iklan ke Server Keputusan Iklan (ADS) menggunakan parameter pemain, menerima respons VAST dengan metadata iklan, dan mengirimkan manifes yang dipersonalisasi dengan penanda iklan kepada pemain.
-
Pelacakan pengambilan data - Pemain mensurvei URL pelacakan secara berkala (mencocokkan durasi target untuk HLS atau periode pembaruan minimum untuk DASH). MediaTailor mengembalikan metadata pelacakan JSON yang berisi ketersediaan, iklan, peristiwa pelacakan, URL suar, dan data verifikasi iklan.
-
Pemutaran iklan dan beacon - Selama jeda iklan, pemain mem-parsing metadata pelacakan, mengaktifkan beacon tayangan saat iklan mulai dirender, mengaktifkan suar kuartil (start, firstQuartile, midpoint, thirdQuartile, complete) pada waktu yang tepat, memuat dan menjalankan verifikasi iklan jika diperlukan, dan mengirimkan acara ke layanan verifikasi pihak ketiga. JavaScript viewability/verification
-
Polling berkelanjutan - Pemain terus melakukan polling URL pelacakan sepanjang sesi untuk menerima metadata terbaru untuk jeda iklan yang akan datang dan konten dinamis.
Alur kerja ini memungkinkan fitur-fitur canggih seperti penghitung waktu mundur iklan, fungsionalitas klik-tayang, iklan pendamping, iklan yang dapat dilewati, dan tampilan ikon VAST untuk kepatuhan privasi.
Mengaktifkan pelacakan sisi klien
Anda mengaktifkan pelacakan sisi klien untuk setiap sesi. Pemain membuat HTTP POST ke titik akhir awalan inisialisasi sesi MediaTailor konfigurasi. Secara opsional, pemain dapat mengirim metadata tambahan MediaTailor untuk digunakan saat melakukan panggilan iklan, memanggil sumber untuk manifes, dan memanggil atau menonaktifkan MediaTailor fitur di tingkat sesi.
Contoh berikut menunjukkan struktur metadata JSON:
{ "adsParams": { # 'adsParams' is case sensitive "param1": "value1", # key is not case sensitive "param2": "value2", # Values can contain spaces. For example, 'value 2' is an allowed value. }, "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin "overlayAvails":"on" # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level. }
Gunakan MediaTailor konsol atau API untuk mengonfigurasi URL templat permintaan ADS untuk mereferensikan parameter ini. Dalam contoh berikut, player_params.param1 adalah parameter pemain untukparam1, dan player_params.param2 merupakan parameter pemain untukparam2.
https://my.ads.com/path?param1=[player_params.param1]¶m2=[player_params.param2]
Parameter server iklan
Pada tingkat paling atas dari struktur JSON adalah objek adsParams JSON. Di dalam objek ini terdapat key/value pasangan yang MediaTailor dapat membaca dan mengirim ke server iklan di semua permintaan sesi. MediaTailor mendukung server iklan berikut:
-
Manajer Iklan Google
-
SpringServe
-
FreeWheel
-
Publik
Parameter kueri interaksi asal
Setiap key/value pasangan yang dicadangkan dalam tingkat paling atas dari struktur JSONadsParams, sepertiavailSuppression,overlayAvails, dan, tidak ditambahkan ke URL permintaan asal dalam bentuk parameter kueri. Setiap permintaan manifes sesi MediaTailor yang dibuat ke asal berisi parameter kueri ini. Origin mengabaikan parameter kueri asing. Misalnya, MediaTailor dapat menggunakan key/value pasangan untuk mengirim token akses ke asal.
Session-configured fitur
Gunakan struktur JSON inisialisasi sesi untuk mengaktifkan, menonaktifkan, atau mengganti MediaTailor fitur sepertioverlayAvails,, dan. availSuppression adSignaling Konfigurasi fitur apa pun yang dilewatkan selama inisialisasi sesi mengesampingkan pengaturan di tingkat MediaTailor konfigurasi.
catatan
Metadata yang diki MediaTailor rimkan ke saat sesi inisialisasi tidak dapat diubah, dan metadata tambahan tidak dapat ditambahkan selama sesi berlangsung. Gunakan SCTE-35 penanda untuk membawa data yang berubah selama sesi. Untuk informasi selengkapnya, lihat MediaTailor variabel sesi untuk permintaan ADS.
contoh: Melakukan pelacakan iklan sisi klien untuk HLS
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad" # This value does not change during the session. "uid": "abdgfdyei-2283004-ueu" } }
contoh: Melakukan pelacakan iklan sisi klien untuk DASH
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }
Parameter mode pelaporan
Anda dapat menentukan mode pelaporan saat menginisialisasi sesi dengan memasukkan reportingMode parameter dalam badan permintaan. Parameter ini mengontrol apakah MediaTailor melakukan pelacakan iklan sisi klien atau sisi server untuk sesi tersebut.
-
client- Pemain melakukan pelacakan iklan dan mengirim suar ke server iklan. Ini adalah mode default jika tidakreportingModeditentukan. -
server- MediaTailor Melakukan pelacakan iklan sisi server dan mengirim suar langsung ke server iklan.
contoh Inisialisasi sesi dengan mode pelaporan sisi server
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad", "uid": "abdgfdyei-2283004-ueu" }, "reportingMode": "server" }
contoh Inisialisasi sesi dengan mode pelaporan sisi klien (eksplisit)
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" }, "reportingMode": "client" }
catatan
reportingModeParameter diatur pada inisialisasi sesi dan tidak dapat diubah selama sesi. Jika tidak reportingMode ditentukan, MediaTailor default ke pelaporan sisi klien untuk mempertahankan kompatibilitas mundur.
Respon yang berhasil adalah HTTP 200 dengan badan respons. Tubuh berisi objek JSON dengan a manifestUrl dan trackingUrl kunci. Nilai-nilainya adalah URL relatif yang dapat digunakan pemain untuk tujuan pemutaran dan pelacakan acara iklan.
{ "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id", "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id" }
Untuk informasi selengkapnya tentang skema pelacakan sisi klien, lihat. Client-side skema dan properti pelacakan iklan
Praktik terbaik untuk pelacakan sisi klien
Bagian ini menguraikan praktik terbaik untuk pelacakan sisi klien MediaTailor untuk alur kerja langsung dan VOD.
Alur kerja langsung
Jajak pendapat titik akhir pelacakan pada interval yang cocok dengan setiap durasi target untuk HLS, atau periode pembaruan minimum untuk DASH, agar selalu memiliki metadata pelacakan iklan terbaru. Mencocokkan interval ini sangat penting dalam alur kerja di mana kreatif mungkin memiliki komponen interaktif atau overlay.
catatan
Beberapa pemain mendukung pendengar acara, yang dapat digunakan sebagai alternatif pemungutan suara. Misalnya, fitur dekorasi ID MediaTailor iklan harus diaktifkan untuk setiap sesi. Untuk informasi selengkapnya, lihat Dekorasi ID Iklan. Menggunakan fitur ini menempatkan pengenal rentang tanggal (HLS) atau elemen peristiwa (DASH) di atas setiap iklan yang tersedia. Pemain dapat menggunakan tag manifes ini sebagai prompt untuk memanggil titik akhir MediaTailor pelacakan untuk sesi tersebut.
Alur kerja VOD
Setelah inisialisasi sesi berhasil, dan setelah MediaTailor menerima manifes pertama yang berisi media, Anda hanya perlu memanggil titik akhir pelacakan sekali.
Server-guided penyisipan iklan
Server-guided sesi penyisipan iklan (SGAI) tidak menggunakan GetTracking API. Sebaliknya, saat Anda menggunakanaws.reportingMode=CLIENT, MediaTailor menyediakan informasi pelacakan di TRACKING bagian setiap respons daftar aset saat pemain meminta konten iklan. Respons inisialisasi sesi tidak menyertakan atrackingUrl.
Respons daftar aset untuk sesi SGAI yang dilacak sisi klien memiliki struktur sebagai berikut:
{
"ASSETS": [
{ "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" },
{ "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" }
],
"TRACKING": {
...VAST tracking events and beacon URLs for each ad...
}
}
Saat menerapkan pelacakan sisi klien untuk metode SGAI:
-
Parsing
TRACKINGbagian dari tanggapan daftar aset alih-alih memanggilGetTracking -
Gunakan URL pelacakan yang disediakan dalam daftar aset untuk pelaporan peristiwa iklan
-
Suar pelacakan api berdasarkan peristiwa pemutaran iklan aktual di pemutar
-
Menangani pelacakan untuk setiap jeda iklan secara independen saat daftar aset diambil
penting
TRACKINGBagian ini hanya disertakan dalam daftar aset ketika aws.reportingMode=CLIENT diatur. Saat pelaporan sisi server digunakan (default untuk SGAI), menghilangkan TRACKING bagian tersebut dan MediaTailor menyematkan data suar di URI iklan sebagai gantinya. Lihat perinciannya di Server-side pelacakan dengan penyisipan iklan yang dipandu server (SGAI).
Paging melalui beacon iklan dengan GetTracking
Gunakan GetTracking titik akhir untuk mempersempit jumlah iklan yang dikembalikan ke pemain. Misalnya, jika jendela manifes lebar, mencakup banyak waktu, jumlah suar iklan yang dikembalikan dapat memengaruhi kinerja pemain.
GetTrackingmengembalikan NextToken nilai yang dapat Anda gunakan untuk mempersempit jumlah beacon yang dikembalikan dengan menelusuri daftar beacon yang dikembalikan. Anda dapat menelus NextToken uri nilai untuk menemukan nilai yang diinginkan dari StartTimeInSeconds bidang suar iklan.
-
Pada panggilan pertama ke
GetTracking, semua kemungkinan iklan yang jatuh di jendela manifes dikembalikan, termasukNextTokena dan nilai masing-masing. Jika
GetTrackingpermintaan tidak menyer takan aNextToken, semua iklan di jendela manifes dikembalikan.Jika
GetTrackingpermintaan berisiNextTokentetapi tidak ada beacon baru untuk dikembalikan, MediaTailor mengembalikan nilai yang sama untukNextTokenyang Anda kirim pada permintaan asli.Ketika tidak ada lagi beacon yang sesuai dengan iklan,
GetTrackinghapus iklan dari responsnya.Token akan ked
GetTrackingaluwarsa setelah 24 jam. JikaNextTokennilai lebih besar dari 24 jam, panggilan berikutnya untukGetTrackingmengembalikan nilai nol.NextToken
Urutan panggilan umum GetTracking dari pemain
Dari pemain klien, GetTracking permintaan adalah POST dengan badan permintaan yang berisi iklan NextToken dan suar yang terkait dengan token.
https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }
Urutan umum untuk digunakan GetTracking dengan NextToken adalah sebagai berikut:
Lakukan panggilan pertama ke
GetTracking.Semua iklan dan beacon dan yang pertama
NextTokenuntuk panggilan berikutnya dikembalikan.Jika nilainya
NextTokennol, MediaTailor mengembalikan semua beacon iklan.Jika ked
NextTokenaluwarsa, MediaTailor mengembalikan pesan kesalahan kode pengembalian HTTP 400.Lakukan panggilan baru
GetTrackinguntuk mengambilNextTokens yang valid.Pindai seluruh respons untuk menemukan suar iklan yang berada dalam kisaran yang diinginkan.
StartTimeInSecondsBuat panggilan baru
GetTrackingdengan nilaiNextTokenterkait dengan yang diinginkanStartTimeInSeconds.Jika perlu, putar lagi melalui iklan yang dikembalikan sampai Anda menemukan yang tepat yang ingin Anda mainkan.
Contoh yang diperluas
Contoh ini menunjukkan cara menggunakannya GetTracking NextToken untuk membatasi jumlah suar iklan yang dikembalikan ke pemain.
MediaTailor menerima GetTracking permintaan. Respons berisi iklan dengan ID 9935407 dan dua beacon dengan StartTimeInSeconds nilai 52.286 dan 48.332 detik.
MediaTailor mengirimkan respons JSON dengan NextToken sebagai berikut:
{ "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb "avails": [ { "ads": [ { "adId": "9935407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15S", "durationInSeconds": 15, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT30S", "StartTimeInSeconds": 45, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=Impression " ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935414", "eventType": "secondQuartile", "startTime": "PT52.286S", "StartTimeInSeconds": 52.286 }, { "beaconUrls": [ "http://adserver.com/tracking?event=firstQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935412", "eventType": "firstQuartile", "startTime": "PT48.332S", "StartTimeInSeconds": 48.332 } ], "vastAdId": "" } ], "startTime": "PT46.47S", "StartTimeInSeconds": 46.47 } ] }
Pada GetTracking permintaan berikutnya, tang MediaTailor gapi dengan NextToken nilai,: JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb.
MediaTailor merespons dengan iklan dan beacon StartTimeInSeconds yang cocok dengan yang ditetapkan NextToken pada panggilan sebelumnya.
Asumsikan bahwa sekarang respons menyertakan iklan lain dengan ID 9235407 selain iklan sebelumnya dengan ID 9935407. Suar dari ID iklan 9235407 memiliki StartTimeInSeconds s 132.41 dan 70.339.
MediaTailor mengulangi semua beacon dalam sesi untuk memilih yang StartTimeInSeconds lebih dari 52.286 detik, yaitu beacon 3 dan beacon 4 dari iklan dengan ID 9235407:
{ "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN "avails": [ { "ads": [ { "adId": "9235407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15.816S", "durationInSeconds": 19.716, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT2M0S", "StartTimeInSeconds": 120.0, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=complete" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935414", "eventType": "firstQuartile", "startTime": "PT1M10.330S", "StartTimeInSeconds": 70.339 }, { "beaconUrls": [ "http://adserver.com/tracking?event=thirdQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935412", "eventType": "secondQuartile", "startTime": "PT2M12.41S", "StartTimeInSeconds": 132.41 } ], "vastAdId": "" }, ], "startTime": "PT36.47S", "StartTimeInSeconds": 36.47 } ] }