Dengan Dynamic Ad Deletion API, Anda dapat meminta dan melacak streaming video-on-demand (VOD) DAI. Streaming HLS dan DASH didukung.
Layanan: dai.google.com
Jalur metode stream
relatif terhadap https://dai.google.com
Metode: stream
Metode | |
---|---|
stream |
POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
Membuat streaming DAI HLS untuk sumber konten dan ID video yang diberikan.
Membuat streaming DAI DASH untuk sumber konten dan ID video tertentu. |
Permintaan HTTP
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
Header permintaan
Parameter | |
---|---|
api‑key |
string Kunci API, yang diberikan saat membuat aliran data, harus valid untuk jaringan penayang. Kunci API dapat diteruskan di header Otorisasi HTTP dengan format berikut, bukan menyediakannya dalam isi permintaan: Authorization: DCLKDAI key="<api-key>" |
Parameter jalur
Parameter | |
---|---|
content-source |
string ID CMS streaming. |
video-id |
string ID video streaming. |
Isi permintaan
Isi permintaan adalah jenis application/x-www-form-urlencoded
dan berisi
parameter berikut:
Parameter | ||
---|---|---|
dai-ssb |
Opsional | Tetapkan ke |
Parameter Penargetan DFP | Opsional | Parameter penargetan tambahan. |
Mengganti Parameter Streaming | Opsional | Ganti nilai default parameter pembuatan streaming. |
Autentikasi HMAC | Opsional | Mengautentikasi menggunakan token berbasis HMAC. |
Isi respons
Jika berhasil, isi respons akan memuat
Stream
baru. Untuk aliran beaconing sisi server, Stream
ini
hanya berisi kolom stream_id
dan stream_manifest
.
Pengukuran Terbuka
Kolom Verifications
berisi informasi verifikasi Open Measurement untuk streaming beaconing non-sisi server.
Verifications
berisi satu atau beberapa elemen Verification
yang mencantumkan resource
dan metadata yang Anda perlukan untuk memverifikasi pemutaran materi iklan dengan kode pengukuran pihak ketiga.
Hanya mendukung JavaScriptResource
. Untuk informasi selengkapnya,
lihat IAB Tech Lab
dan spesifikasi VAST 4.1.
Metode: verifikasi media
Setelah Anda menemukan ID media iklan selama pemutaran, segera buat
permintaan menggunakan media_verification_url
dari endpoint
stream
. media_verification_url
adalah jalur absolut.
Permintaan verifikasi media tidak diperlukan untuk streaming beaconing sisi server,
saat server memulai verifikasi media.
Permintaan ke endpoint media verification
bersifat idempoten.
Metode | |
---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
Memberi tahu API tentang peristiwa verifikasi media. |
Permintaan HTTP
GET {media-verification-url}/{ad-media-id}
Isi respons
media verification
menampilkan respons berikut:
HTTP/1.1 204 No Content
jika verifikasi media berhasil dan semua ping dikirim.HTTP/1.1 404 Not Found
jika permintaan tidak dapat memverifikasi media karena masa berlaku atau format URL salah.HTTP/1.1 404 Not Found
jika permintaan verifikasi sebelumnya untuk tanda pengenal ini berhasil.HTTP/1.1 409 Conflict
jika permintaan lain sudah mengirimkan ping saat ini.
ID media iklan (HLS)
ID media iklan akan dienkode dalam Metadata Berwaktu HLS menggunakan kunci TXXX
,
yang dicadangkan untuk frame "informasi teks yang ditentukan pengguna". Konten frame
akan tidak dienkripsi dan akan selalu dimulai dengan teks "google_"
.
Seluruh konten teks frame harus ditambahkan ke media_verification_url untuk setiap permintaan verifikasi iklan.
ID media iklan (DASH)
ID media iklan akan disisipkan ke manifes melalui penggunaan elemen EventStream
DASH.
Setiap EventStream
akan memiliki URI ID Skema urn:google:dai:2018
.
File ini akan berisi peristiwa dengan atribut messageData
yang berisi
ID media iklan yang diawali dengan “google_”
. Seluruh konten atribut messageData
harus ditambahkan ke media_verification_url untuk setiap permintaan
verifikasi iklan.
Data respons
Streaming
Stream digunakan untuk merender daftar semua resource untuk stream yang baru dibuat dalam format JSON .Representasi JSON |
---|
{ "stream_id": string, "total_duration": number, "content_duration": number, "valid_for": string, "valid_until": string, "subtitles": [object(Subtitle)], "hls_master_playlist": string, "stream_manifest": string, "media_verification_url": string, "apple_tv": object(AppleTV), "ad_breaks": [object(AdBreak)], } |
Kolom | |
---|---|
stream_id |
string ID streaming. |
total_duration |
number Durasi streaming dalam hitungan detik. |
content_duration |
number Durasi konten, tanpa iklan, dalam hitungan detik. |
valid_for |
string Aliran durasi valid, dalam format "00h00m00s". |
valid_until |
string Tanggal streaming valid hingga, dalam format RFC 3339. |
subtitles |
[object(Subtitle)] Daftar Subtitel. Akan dihilangkan jika kosong. Khusus HLS. |
hls_master_playlist |
string (TIDAK DIGUNAKAN LAGI) URL playlist master HLS. Gunakan stream_manifest. Khusus HLS. |
stream_manifest |
string Manifes streaming. Sesuai dengan playlist master di HLS dan MPD di DASH. Ini adalah satu-satunya kolom selain "stream_id" yang ada dalam respons saat membuat streaming beaconing sisi server. |
media_verification_url |
string URL verifikasi media. |
apple_tv |
object(AppleTV) Informasi opsional khusus untuk perangkat AppleTV. Khusus HLS. |
ad_breaks |
[object(AdBreak)] Daftar Jeda Iklan. Akan dihilangkan jika kosong. |
AppleTV
AppleTV berisi informasi khusus perangkat Apple TV.Representasi JSON |
---|
{ "interstitials_url": string, } |
Kolom | |
---|---|
interstitials_url |
string URL interstisial. |
AdBreak
Jeda Iklan menjelaskan satu jeda iklan dalam streaming. Iklan ini berisi posisi, durasi, jenis (pertengahan/pra/pasca), dan daftar iklan.Representasi JSON |
---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
Kolom | |
---|---|
type |
string Jenis jeda iklan yang valid adalah: pertengahan, pra, dan pasca. |
start |
number Posisikan di aliran waktu jeda iklan, dalam hitungan detik. |
duration |
number Durasi jeda iklan, dalam detik. |
ads |
[object(Ad)] Daftar Iklan. Akan dihilangkan jika kosong. |
Iklan
Iklan menjelaskan iklan dalam streaming. Kolom ini berisi posisi iklan saat jeda, durasi iklan, dan beberapa metadata opsional.Representasi JSON |
---|
{ "seq": number, "start": number, "duration": number, "title": string, "description": string, "advertiser": string, "ad_system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, "clickthrough_url": string, "icons": [object(Icon)], "wrappers": [object(Wrapper)], "events": [object(Event)], "verifications": [object(Verification)], "universal_ad_id": object(UniversalAdID), "companions": [object(Companion)], "interactive_file": object(InteractiveFile), } |
Kolom | |
---|---|
seq |
number Posisi iklan dalam jeda. |
start |
number Posisikan iklan di streaming tempat iklan dimulai, dalam hitungan detik. |
duration |
number Durasi iklan, dalam detik. |
title |
string Judul opsional iklan. |
description |
string Deskripsi iklan opsional. |
advertiser |
string ID pengiklan opsional. |
ad_system |
string Sistem iklan opsional. |
ad_id |
string ID iklan opsional. |
creative_id |
string ID materi iklan opsional. |
creative_ad_id |
string ID iklan materi iklan opsional. |
deal_id |
string ID transaksi opsional. |
clickthrough_url |
string URL klik-tayang opsional. |
icons |
[object(Icon)] Daftar ikon, yang dihilangkan jika kosong. |
wrappers |
[object(Wrapper)] Daftar Wrapper. Akan dihilangkan jika kosong. |
events |
[object(Event)] Daftar peristiwa dalam iklan. |
verifications |
[object(Verification)] Entri verifikasi Pengukuran Terbuka opsional yang mencantumkan resource dan metadata yang diperlukan untuk menjalankan kode pengukuran pihak ketiga guna memverifikasi pemutaran materi iklan. |
universal_ad_id |
object(UniversalAdID) ID iklan universal opsional. |
companions |
[object(Companion)] Pengiring opsional yang dapat ditampilkan bersama iklan ini. |
interactive_file |
object(InteractiveFile) Materi iklan interaktif opsional (SIMID) yang harus ditampilkan selama pemutaran iklan. |
Acara
Acara berisi jenis acara dan waktu presentasi dari suatu acara.Representasi JSON |
---|
{ "time": number, "type": string, } |
Kolom | |
---|---|
time |
number Waktu presentasi acara ini. |
type |
string Jenis peristiwa ini. |
Subjudul
Subtitel menjelaskan trek subtitel file bantuan untuk streaming video. Sistem ini menyimpan dua format subtitel: TTML dan WebVTT. Atribut TTMLPath berisi URL ke file bantuan TTML dan atribut WebVTTPath juga berisi URL ke file bantuan WebVTT.Representasi JSON |
---|
{ "language": string, "language_name": string, "ttml": string, "webvtt": string, } |
Kolom | |
---|---|
language |
string Kode bahasa, seperti 'en' atau 'de'. |
language_name |
string Nama deskriptif bahasa. Menentukan kumpulan subjudul tertentu jika ada beberapa kumpulan untuk bahasa yang sama |
ttml |
string URL opsional ke file bantuan TTML. |
webvtt |
string URL opsional untuk file bantuan WebVTT. |
Ikon
Ikon berisi informasi tentang Ikon VAST.Representasi JSON |
---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
Kolom | |
---|---|
click_data |
object(ClickData) |
creative_type |
string |
click_fallback_images |
[object(FallbackImage)] |
height |
int32 |
width |
int32 |
resource |
string |
type |
string |
x_position |
string |
y_position |
string |
program |
string |
alt_text |
string |
ClickData
ClickData berisi informasi tentang klik-tayang ikon.Representasi JSON |
---|
{ "url": string, } |
Kolom | |
---|---|
url |
string |
FallbackImage
PenggantianImage berisi informasi tentang gambar penggantian VAST.Representasi JSON |
---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
Kolom | |
---|---|
creative_type |
string |
height |
int32 |
width |
int32 |
resource |
string |
alt_text |
string |
Wrapper
Wrapper berisi informasi tentang iklan wrapper. Ini tidak menyertakan ID Transaksi jika tidak ada.Representasi JSON |
---|
{ "system": string, "ad_id": string, "creative_id": string, "creative_ad_id": string, "deal_id": string, } |
Kolom | |
---|---|
system |
string ID sistem iklan. |
ad_id |
string ID iklan yang digunakan untuk iklan wrapper. |
creative_id |
string ID materi iklan yang digunakan untuk iklan wrapper. |
creative_ad_id |
string ID Iklan Materi Iklan yang digunakan untuk iklan wrapper. |
deal_id |
string ID transaksi opsional untuk iklan wrapper. |
Verifikasi
Verifikasi berisi informasi untuk Open Measurement, yang memfasilitasi pengukuran visibilitas dan verifikasi pihak ketiga. Saat ini, hanya resource JavaScript yang didukung. Lihat https://iabtechlab.com/standards/open-measurement-sdk/Representasi JSON |
---|
{ "vendor": string, "java_script_resources": [object(JavaScriptResource)], "tracking_events": [object(TrackingEvent)], "parameters": string, } |
Kolom | |
---|---|
vendor |
string Vendor verifikasi. |
java_script_resources |
[object(JavaScriptResource)] Daftar resource JavaScript untuk verifikasi. |
tracking_events |
[object(TrackingEvent)] Daftar peristiwa pelacakan untuk verifikasi. |
parameters |
string String buram yang diteruskan ke kode verifikasi bootstrap. |
JavaScriptResource
JavaScriptResource berisi informasi untuk verifikasi melalui JavaScript.Representasi JSON |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
Kolom | |
---|---|
script_url |
string URI untuk payload JavaScript. |
api_framework |
string APIFramework adalah nama framework video yang menjalankan kode verifikasi. |
browser_optional |
boolean Apakah skrip ini dapat dijalankan di luar browser. |
TrackingEvent
TrackingEvent berisi URL yang harus di-ping oleh klien dalam situasi tertentu.Representasi JSON |
---|
{ "event": string, "uri": string, } |
Kolom | |
---|---|
event |
string Jenis peristiwa pelacakan. |
uri |
string Peristiwa pelacakan yang akan di-ping. |
UniversalAdID
UniversalAdID digunakan untuk memberikan ID materi iklan unik yang dikelola di seluruh sistem iklan.Representasi JSON |
---|
{ "id_value": string, "id_registry": string, } |
Kolom | |
---|---|
id_value |
string ID Iklan Universal dari materi iklan yang dipilih untuk iklan. |
id_registry |
string String yang digunakan untuk mengidentifikasi URL situs registry tempat ID Iklan Universal materi iklan yang dipilih dimasukkan ke dalam katalog. |
Pengiring
Pengiring berisi informasi untuk iklan pengiring yang dapat ditampilkan bersama iklan.Representasi JSON |
---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
Kolom | |
---|---|
click_data |
object(ClickData) Data klik untuk pendamping ini. |
creative_type |
string Atribut CreativeType pada node <StaticResource> di VAST jika ini adalah pendamping jenis statis. |
height |
int32 Tinggi dalam piksel pendamping ini. |
width |
int32 Lebar dalam piksel pendamping ini. |
resource |
string Untuk pengiring statis dan iframe, ini akan menjadi URL yang akan dimuat dan ditampilkan. Untuk pengiring HTML, ini akan menjadi cuplikan HTML yang harus ditampilkan sebagai pengiring. |
type |
string Jenis pendamping ini. Dapat berupa statis, iframe, atau HTML. |
ad_slot_id |
string ID slot untuk pendamping ini. |
api_framework |
string Framework API untuk pendamping ini. |
tracking_events |
[object(TrackingEvent)] Daftar peristiwa pelacakan untuk pendamping ini. |
InteractiveFile
InteractiveFile berisi informasi untuk materi iklan interaktif (yaitu SIMID) yang harus ditampilkan selama pemutaran iklan.Representasi JSON |
---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
Kolom | |
---|---|
resource |
string URL ke materi iklan interaktif. |
type |
string Jenis MIME file yang disediakan sebagai resource. |
variable_duration |
boolean Apakah materi iklan ini dapat meminta perpanjangan durasi atau tidak. |
ad_parameters |
string Nilai node <AdParameters> di VAST. |