API Penyisipan Iklan Dinamis memungkinkan Anda meminta dan melacak DAI streaming linear (LIVE).
Layanan: dai.google.com
Semua URI di bawah ini relatif terhadap https://dai.google.com
Metode: stream
| Metode | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Membuat streaming DAI untuk ID peristiwa yang diberikan. |
Permintaan HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
Header permintaan
| Parameter | |
|---|---|
api‑key |
stringKunci API, yang diberikan saat membuat streaming, harus valid untuk jaringan penayang. Daripada menyediakannya dalam isi permintaan, kunci API dapat diteruskan di header Otorisasi HTTP dengan format berikut: Authorization: DCLKDAI key="<api-key>" |
Parameter jalur
| Parameter | |
|---|---|
assetKey |
stringID peristiwa streaming. |
Isi permintaan
Isi permintaan berjenis application/x-www-form-urlencoded dan berisi
parameter berikut:
| Parameter | ||
|---|---|---|
dai-ssb |
Opsional | Tetapkan ke |
| Parameter Penargetan DFP | Opsional | Parameter penargetan tambahan. |
| Mengganti Parameter Aliran Data | Opsional | Mengganti nilai default parameter pembuatan streaming. |
| Autentikasi HMAC | Opsional | Autentikasi menggunakan token berbasis HMAC. |
Isi respons
Jika berhasil, isi respons berisi
Stream Untuk streaming sisi server, Stream ini
hanya berisi kolom stream_id dan stream_manifest.
Pengukuran Terbuka
DAI API berisi informasi untuk verifikasi Pengukuran Terbuka dalam
Kolom Verifications. Kolom ini berisi satu atau beberapa
Elemen Verification yang mencantumkan resource dan metadata yang diperlukan untuk mengeksekusi
kode pengukuran pihak ketiga untuk memverifikasi pemutaran materi iklan. Hanya
JavaScriptResource didukung. Untuk informasi selengkapnya, lihat
IAB Tech Lab dan
Spesifikasi VAST 4.1.
Metode: verifikasi media
Setelah menemukan pengenal media iklan selama pemutaran, segera buat permintaan menggunakan media_verification_url yang diperoleh dari stream endpoint, di atas. Permintaan ini tidak diperlukan untuk beaconing sisi server streaming, tempat server memulai verifikasi media.
Permintaan ke endpoint media verification bersifat idempoten.
| Metode | |
|---|---|
media verification |
GET /{media_verification_url}/{ad_media_id}
Memberi tahu API peristiwa verifikasi media. |
Permintaan HTTP
GET https://{media-verification-url}/{ad-media-id}
Isi respons
media verification
akan menampilkan respons berikut:
HTTP/1.1 204 No Contentjika verifikasi media berhasil dan semua ping dikirim.HTTP/1.1 404 Not Foundjika permintaan tidak dapat memverifikasi media karena format URL yang salah atau habis masa berlakunya.HTTP/1.1 404 Not Foundjika permintaan verifikasi sebelumnya untuk tanda pengenal ini berhasil.HTTP/1.1 409 Conflictjika permintaan lain sudah mengirimkan ping saat ini.
ID media iklan (HLS)
ID media iklan akan dienkode dalam Metadata Berwaktu HLS menggunakan kunci tersebut
TXXX, dicadangkan untuk "informasi teks yang ditentukan pengguna" {i>frame<i}. Tujuan
dalam {i>frame<i} tersebut tidak akan dienkripsi
dan akan selalu dimulai dengan teks
"google_".
Seluruh konten teks dalam bingkai harus ditambahkan ke verifikasi iklan URL sebelum membuat setiap permintaan verifikasi iklan.
Metode: metadata
Endpoint metadata di metadata_url menampilkan informasi yang digunakan untuk membuat iklan
UI. Endpoint metadata tidak tersedia untuk aliran data di sisi server,
di mana server bertanggung jawab untuk
memulai verifikasi media iklan.
| Metode | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
Mengambil informasi metadata iklan. |
Permintaan HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Isi respons
Jika berhasil, respons menampilkan instance
PodMetadata
Bekerja dengan Metadata
Metadata memiliki tiga bagian yang berbeda: tags, ads, dan breaks iklan. Entri
mengarah ke data adalah bagian tags. Kemudian, lakukan iterasi tag
dan temukan entri pertama yang namanya merupakan awalan untuk
ID media iklan yang ditemukan dalam streaming video. Sebagai contoh, Anda
mungkin memiliki ID media iklan yang terlihat seperti:
google_1234567890
Kemudian, Anda menemukan objek tag bernama google_12345. Dalam hal ini, cocok dengan
ID media iklan. Setelah menemukan objek awalan media iklan yang tepat, Anda dapat mencari
ID iklan, ID jeda iklan, dan jenis peristiwa. ID iklan kemudian digunakan untuk mengindeks
Objek ads dan ID jeda iklan digunakan untuk mengindeks objek breaks.
Data respons
Streaming
Stream digunakan untuk merender daftar resource untuk stream yang baru dibuat di dalam format JSON saya.| Representasi JSON |
|---|
{
"stream_id": string,
"stream_manifest": string,
"hls_master_playlist": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"polling_frequency": number,
} |
| Kolom | |
|---|---|
stream_id |
stringID streaming GAM. |
stream_manifest |
stringURL manifes streaming, yang digunakan untuk mengambil playlist multi-varian dalam HLS atau MPD di DASH. |
hls_master_playlist |
string(TIDAK DIGUNAKAN LAGI) URL playlist multi-varian HLS. Menggunakan "stream_manifes" sebagai gantinya. |
media_verification_url |
stringURL verifikasi media yang digunakan sebagai endpoint dasar untuk melacak peristiwa pemutaran. |
metadata_url |
stringURL metadata yang digunakan untuk polling informasi berkala tentang acara iklan streaming mendatang. |
session_update_url |
stringURL update sesi digunakan untuk memperbarui parameter penargetan untuk streaming ini. Nilai asli untuk parameter penargetan akan diambil selama permintaan pembuatan streaming awal. |
polling_frequency |
numberFrekuensi polling, dalam detik, saat meminta metadata_url atauhear_url. |
PodMetadata
PodMetadata berisi informasi metadata tentang iklan, jeda iklan, dan tag ID media.| Representasi JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
} |
| Kolom | |
|---|---|
tags |
map[string, object(TagSegment)]Peta segmen tag yang diindeks berdasarkan awalan tag. |
ads |
map[string, object(Ad)]Peta iklan yang diindeks menurut ID iklan. |
ad_breaks |
map[string, object(AdBreak)]Peta jeda iklan yang diindeks oleh ID jeda iklan. |
TagSegment
TagSegment berisi referensi ke iklan, jeda iklannya, dan jenis peristiwa. TagSegment dengan type="progress" tidak boleh di-ping ke media iklan endpoint verifikasi.| Representasi JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Kolom | |
|---|---|
ad |
stringID iklan tag ini. |
ad_break_id |
stringID jeda iklan tag ini. |
type |
stringJenis peristiwa tag ini. |
AdBreak
Jeda Iklan mendeskripsikan satu jeda iklan dalam streaming. Video berisi durasi, jenis (mid/pre/post) dan jumlah iklan.| Representasi JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Kolom | |
|---|---|
type |
stringJenis jeda yang valid adalah: sebelum, pertengahan, dan setelah. |
duration |
numberTotal durasi iklan untuk jeda iklan ini, dalam detik. |
expected_duration |
numberPerkiraan durasi jeda iklan (dalam detik), termasuk semua iklan dan slate (layar pemblokir) apa pun. |
ads |
numberJumlah iklan dalam jeda iklan. |
Iklan
Iklan mendeskripsikan iklan dalam streaming.| Representasi JSON |
|---|
{
"ad_break_id": string,
"position": 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,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| Kolom | |
|---|---|
ad_break_id |
stringID jeda iklan untuk iklan ini. |
position |
numberPosisi iklan ini di jeda iklan, mulai dari 1. |
duration |
numberDurasi iklan, dalam detik. |
title |
stringJudul opsional iklan. |
description |
stringDeskripsi opsional iklan. |
advertiser |
stringID pengiklan opsional. |
ad_system |
stringSistem iklan opsional. |
ad_id |
stringID iklan opsional. |
creative_id |
stringID materi iklan opsional. |
creative_ad_id |
stringID iklan materi iklan opsional. |
deal_id |
stringID transaksi opsional. |
clickthrough_url |
stringURL klik-tayang opsional. |
click_tracking_urls |
stringURL pelacakan klik opsional. |
verifications |
[object(Verification)]Entri verifikasi Open Measurement opsional yang mencantumkan resource dan metadata yang diperlukan untuk mengeksekusi kode pengukuran pihak ketiga guna memverifikasi pemutaran materi iklan. |
slate |
booleanBool opsional yang menunjukkan entri saat ini adalah slate. |
icons |
[object(Icon)]Daftar ikon, dihilangkan jika kosong. |
wrappers |
[object(Wrapper)]Daftar Wrapper, dihilangkan jika kosong. |
universal_ad_id |
object(UniversalAdID)ID iklan universal opsional. |
extensions |
stringDaftar opsional semua <Ekstensi> node dalam VAST. |
companions |
[object(Companion)]Pengiring opsional yang mungkin ditampilkan bersama iklan ini. |
interactive_file |
object(InteractiveFile)Materi iklan interaktif opsional (SIMID) yang harus ditampilkan selama pemutaran iklan. |
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
FallbackImage 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. Laporan 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 |
stringID sistem iklan. |
ad_id |
stringID iklan yang digunakan untuk iklan wrapper. |
creative_id |
stringID materi iklan yang digunakan untuk iklan wrapper. |
creative_ad_id |
stringID Iklan Materi Iklan yang digunakan untuk iklan wrapper. |
deal_id |
stringID transaksi opsional untuk iklan wrapper. |
Verifikasi
Verifikasi berisi informasi untuk Pengukuran Terbuka, yang memfasilitasi pengukuran verifikasi dan visibilitas 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 |
stringVendor verifikasi. |
java_script_resources |
[object(JavaScriptResource)]Daftar resource JavaScript untuk verifikasi. |
tracking_events |
[object(TrackingEvent)]Daftar peristiwa pelacakan untuk verifikasi. |
parameters |
stringString 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 |
stringURI ke payload JavaScript. |
api_framework |
stringAPIFramework adalah nama framework video yang menjalankan kode verifikasi. |
browser_optional |
booleanApakah skrip ini dapat dijalankan di luar browser. |
TrackingEvent
TrackingEvent berisi URL yang harus di-ping oleh klien dalam situasi.| Representasi JSON |
|---|
{
"event": string,
"uri": string,
} |
| Kolom | |
|---|---|
event |
stringJenis peristiwa pelacakan. |
uri |
stringPeristiwa 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 |
stringID Iklan Universal materi iklan yang dipilih untuk iklan. |
id_registry |
stringString yang digunakan untuk mengidentifikasi URL situs registry tempat ID Iklan Universal materi iklan yang dipilih dicantumkan dalam katalog. |
Pengiring
Pengiring berisi informasi untuk iklan pengiring yang mungkin ditampilkan bersama dengan 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 pengiring ini. |
creative_type |
stringAtribut CreativeType di <StaticResource> di VAST jika ini adalah pendamping jenis statis. |
height |
int32Tinggi pengiring ini dalam piksel. |
width |
int32Lebar dalam piksel pendamping ini. |
resource |
stringUntuk pengiring statis dan iframe, URL ini akan dimuat dan ditampilkan. Untuk pengiring HTML, ini akan menjadi cuplikan HTML yang seharusnya ditampilkan sebagai pengiring. |
type |
stringJenis pendamping ini. URL dapat berupa statis, iframe, atau HTML. |
ad_slot_id |
stringID slot untuk pengiring ini. |
api_framework |
stringFramework 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 |
stringURL ke materi iklan interaktif. |
type |
stringJenis MIME file yang disediakan sebagai resource. |
variable_duration |
booleanApakah materi iklan ini dapat meminta perpanjangan durasi. |
ad_parameters |
stringNilai <AdParameters> node di VAST. |