A dinamikus hirdetésbeillesztés (Dynamic Ad Insertion, DAI) API-ja lehetővé teszi a bevételszerzést olyan streameknél, amelyeknél az IMA SDK nem támogatott (például okostévéken). Az IMA SDK használata kötelező az olyan platformokon, amelyeken rendelkezésre áll. Az API támogatja az összes meglévő DAI-funkciót, azonban ezeket a megjelenítőknek kell megvalósítaniuk.
Az API használatára vonatkozó követelmények
A következő funkciók megjelenítői megvalósítást igényelnek az API használatakor:
- Hozzáférés a DAI-streamhez a HTTP-végponton keresztül, és a JSON-válaszok feldolgozása.
- Az API-paraméterek és a célzási kulcsértékek kialakítása.
- A felhasználói élmény (például átkattintások és ikonok) megvalósítása.
- A lejátszóbeli ID3-események figyelése a lejátszóvezérlők és a hirdetéskövetés, illetve -mérés megvalósításához az élő lineáris és a VOD-streamekben.
- A beletekerési viselkedés, a visszaugrások és a könyvjelző funkció megvalósítása.
- A streamelési formátum kiválasztása: HLS vagy DASH
A következő információkat használhatja az adatfolyamok API-n keresztüli lekéréséhez és feldolgozásához igény szerinti videó vagy élő lineáris közvetítés esetén.
Igény szerinti videóközvetítés (VOD)
A VOD API egyszerű életciklusa a stream létrehozásától a hirdetéslejátszás ellenőrzéséig:
-
A tartalomforrás azonosítójának (
cmsid
) és videóazonosítójának (vid
), az API-kulcsnak vagy a HMAC-tokennek és a hirdetéscélzási paramétereknek a megadásával kérelmezzen streamet HTTP POST kéréssel.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
Dolgozza fel a tartalom lejátszási manifestjére, felirataira, hirdetésszüneteire és időzítésére vonatkozó válaszokat.
{
"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": [...]
}
-
A felhasználói felületen való megjelenítéshez dolgozza fel az összes hirdetésszünet egyes hirdetéseinek részletes adatait, egyebek mellett az átkattintásokat, a kísérőhirdetéseket és a hirdetésszünetek időtartamát.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Példa tartalom előtti hirdetés",
"duration": 10,
"seq": 1,
"title": "Példa tartalom előtti hirdetés"
}
-
Mindegyik hirdetésnél aktiválja a
media_verification_url
paramétert, és fűzze hozzá a hirdetés médialejátszójából származó ID3 értéket.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
A Progress (előrehaladási) események arra szolgálnak, hogy megkülönböztessék a hirdetésszünetben és azon kívül történő lejátszásokat, de más hirdetéskövetési célokkal nem rendelkeznek.
A Progress eseményeket arról ismerheti fel, hogy ha a metaadatok JSON-fájljában rákeres a médiaazonosítóra, akkor a type
(típus) mező értéke progress
. A Progress ID3 felhasználható például a videóvezérlők letiltására.
Élő lineáris közvetítés
A lineáris API egyszerű életciklusa a stream létrehozásától a hirdetéslejátszás ellenőrzéséig:
-
Az eseményazonosítónak, az API-kulcsnak vagy a HMAC-tokennek és a hirdetéscélzási paramétereknek a megadásával kérelmezzen streamet HTTP POST kéréssel.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
Dolgozza fel a tartalom lejátszási manifestjére, felirataira, hirdetésszüneteire és időzítésére vonatkozó válaszokat.
{
"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",
}
-
Kérje le a hirdetés metaadatait vagy a mérési gyakoriság szerint, vagy az egyes ID3 hirdetési médiaazonosítókra vonatkozóan, mely esetben a hirdetési médiaazonosítót adja hozzá a metaadatok URL-jéhez egy lekérdezési paraméterben.
{
"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": "Példa lineáris 10 mp-es hirdetés",
"duration": 10,
"position": 2,
"title": "Példa lineáris hirdetés"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
Mindegyik hirdetésnél aktiválja a
media_verification_url
paramétert, és fűzze hozzá a hirdetés médialejátszójából származó ID3 értéket.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
A Progress (előrehaladási) események arra szolgálnak, hogy megkülönböztessék a hirdetésszünetben és azon kívül történő lejátszásokat, de más hirdetéskövetési célokkal nem rendelkeznek.
A Progress eseményeket arról ismerheti fel, hogy ha a metaadatok JSON-fájljában rákeres a médiaazonosítóra, akkor a type
(típus) mező értéke: progress
. A Progress ID3 felhasználható például a videóvezérlők letiltására.
A DAI API segítségével megtudhatja, mikor kezdődött vagy ért véget egy hirdetésszünet a streamben
A DAI kvartiliseseményekhez (például az Indítás, az Első kvartilis, a Közepe, a Harmadik kvartilis és a Befejeződött) tartozó ID3-metaadatokat illeszt be a hirdetési szegmensekbe, valamint haladási eseményeket (minden másodpercenként) a hirdetés- és videóhirdetés-szegmensekbe. Amikor a rendszer először észlel ilyen ID3-címkét, aktiválódhat a „hirdetési szünet kezdete” esemény. Ezt követően, ha mondjuk 2,5 másodpercig nem észlelhető ilyen ID3-címke, aktiválható a „hirdetési szünet vége”. A DAI-beillesztésű ID3-címkék a „google_
” előtagjuk és a metaadatokat tartalmazó JSON-fájlban való jelenlétük alapján azonosíthatók.
A célzás és/vagy a kulcsértékek dinamikus frissítése felhasználói streamenként
A session_update_url
paramétert használhatja arra, hogy másra cserélje az élő közvetítés bejövő hirdetési kérelmeinél használt hirdetésicímke-paramétereket (hasonlóan működik, mint a replaceAdTagParameters
metódus). Ez akkor hasznos, ha a célzási információkat műsoronként és felhasználónként kell frissíteni (pl. élő sportközvetítéseknél, ahol a célzás előzetesen nem biztos, hogy ismert).