API untuk Penyisipan Iklan Dinamis (DAI) memungkinkan akses ke streaming yang dimonetisasi saat IMA SDK tidak didukung (misalnya, Smart TV). IMA diperlukan di suatu platform jika memang tersedia. API mendukung semua fitur DAI yang sudah ada, tetapi memerlukan penerapan penayang agar dapat melakukannya.
Persyaratan saat menggunakan API
Fungsi berikut memerlukan implementasi penayang saat menggunakan API:
- Mengakses streaming DAI melalui endpoint HTTP dan memproses respons JSONS
- Membuat parameter API dan menargetkan nilai kunci
- Menerapkan pengalaman pengguna (misalnya, klik-tayang dan ikon)
- Mendengarkan peristiwa ID3 di pemutar untuk menerapkan kontrol pemutar dan pelacakan/pengukuran iklan baik untuk live linear maupun VOD
- Menerapkan fungsi pemberian bookmark, snapback, dan perilaku mode gesek
- Pilihan format streaming: HLS atau DASH
Anda dapat menggunakan informasi berikut tentang cara meminta dan memproses streaming melalui API untuk video on demand, atau streaming live linear.
Video on demand (VOD)
VOD API mengikuti siklus proses yang sederhana mulai dari pembuatan streaming hingga verifikasi pemutaran iklan:
-
Meminta streaming dengan HTTP POST menggunakan ID sumber konten (
cmsid
) dan ID video (vid
), kunci API atau token HMAC, serta parameter penargetan iklan.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
Memproses respons untuk mengetahui informasi tentang manifes pemutaran konten, subtitel/teks, jeda iklan, dan waktu konten.
{
"content_duration": 123.451,
"stream_manifest": "https://dai.google.com/.../master.m3u8",
"media_verification_url": "https://dai.google.com/.../media/",
"stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",
"total_duration": 163.451,
"valid_for": "8h0m0s",
"valid_until": "2018-05-16T23:21:16.558053292-07:00",
"ad_breaks": [...]
}
-
Memproses detail masing-masing elemen untuk setiap jeda iklan, seperti informasi tentang durasi jeda iklan, pengiring, dan klik-tayang untuk rendering UI.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Example pre-roll ad",
"duration": 10,
"seq": 1,
"title": "Example pre-roll"
}
-
Memicu
media_verification_url
dengan nilai ID3 yang ditambahkan dari pemutaran media setiap iklan.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
Peristiwa Progress berfungsi untuk membedakan antara pemutaran di dalam dan di luar jeda iklan, tanpa tujuan pelacakan iklan lainnya.
Anda dapat mengidentifikasi peristiwa progres dengan menelusuri ID media di file JSON metadata dan memverifikasi bahwa kolom type
telah ditetapkan ke progress
. Progress ID3 dapat digunakan untuk, misalnya, memblokir kontrol video.
Streaming live linear
Linear API mengikuti siklus proses yang sederhana mulai dari pembuatan streaming hingga verifikasi pemutaran iklan:
-
Meminta streaming dengan HTTP POST menggunakan ID peristiwa, dengan kunci API atau token HMAC, dan parameter penargetan iklan.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
Memproses respons untuk mengetahui informasi tentang manifes pemutaran konten, subtitel/teks, jeda iklan, dan waktu konten.
{
"stream_manifest": "https://dai.google.com/linear/.../master.m3u8",
"media_verification_url": "https://dai.google.com/linear/.../media/",
"metadata_url": "https://dai.google.com/linear/.../metadata",
"polling_frequency": 10,
"stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",
}
-
Meminta metadata iklan di frekuensi polling atau di setiap ID media iklan ID3, sehingga menambahkan ID media iklan ke URL metadata di parameter kueri.
{
"ad_breaks": {
"0001127859": {
"ads": 3,
"duration": 30,
"type": "mid"
}
},
"ads": {
"0001127859_ad2": {
"ad_break_id": "0001127859",
"ad_id": "39135088",
"ad_system": "GDFP",
"clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",
"creative_id": "103990016608",
"description": "Example linear 10s ad",
"duration": 10,
"position": 2,
"title": "Example linear ad"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
Memicu
media_verification_url
agar menambahkan nilai ID3 dari pemutaran media setiap iklan.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
Peristiwa Progress berfungsi untuk membedakan antara pemutaran di dalam dan di luar jeda iklan, dan tidak memiliki tujuan pelacakan iklan lainnya.
Anda dapat mengidentifikasi peristiwa progres dengan menelusuri file json metadata untuk ID media dan memverifikasi bahwa type
kolom ditetapkan ke progress
. Progress ID3 dapat digunakan untuk, misalnya, memblokir kontrol video.
Mendeteksi kapan jeda iklan dimulai/berakhir dalam streaming menggunakan DAI API
DAI menyisipkan metadata ID3 untuk peristiwa kuartil (seperti Mulai, Kuartil Pertama, Titik Tengah, Kuartil Ketiga, dan Selesai) ke segmen iklan dan peristiwa progres (setiap satu detik) ke segmen iklan dan slate. Saat tag ID3 tersebut pertama kali terlihat, peristiwa "jeda iklan dimulai" dapat dipicu. Setelah itu, jika tag ID3 tersebut tidak ditemukan selama 2,5 detik, "jeda iklan berakhir" dapat dinaikkan. Tag ID3 yang disisipkan DAI dapat diidentifikasi dengan awalan "google_
" dan keberadaannya di file JSON metadata.
Memperbarui penargetan dan/atau nilai kunci secara dinamis per streaming pengguna
session_update_url
dapat digunakan untuk mengganti semua parameter tag iklan yang digunakan pada permintaan iklan berikutnya di live stream (mirip dengan replaceAdTagParameters
). Hal ini berguna saat informasi penargetan perlu diperbarui berdasarkan per program dan per pengguna (misalnya, untuk siaran olahraga live dengan penargetan yang mungkin tidak diketahui sebelumnya).