L'inserimento di annunci guidati dal server (SGAI) fornisce un manifest del pod di annunci pronto per lo stitching sui dispositivi client. Se hai attivato la pubblicazione di annunci in pod nella tua rete Google Ad Manager, hai accesso all'utilizzo di SGAI. Se non hai abilitato la pubblicazione di pod DAI, contatta il tuo account manager.
Con SGAI, utilizzi gli endpoint dell'API di pubblicazione dei pod per creare uno stream che recupera i metadati degli annunci e i manifest dei pod di annunci.
Se hai un server di manipolazione del manifest, puoi generare gli URL del manifest del pod di annunci e inserire indicatori di annuncio che contengono le informazioni del manifest del pod di annunci nel tuo stream di contenuti, in base alle tue specifiche preferite.
In alternativa, puoi pianificare un'interruzione pubblicitaria utilizzando un meccanismo diverso rispetto agli indicatori di annuncio nel manifest dello stream. In questi casi, l'app può ascoltare altri eventi, ad esempio l'interazione dell'utente con lo stream, con l'app stessa o con una notifica push. Dopo questi eventi, l'app può generare gli URL del manifest del pod di annunci e indicare al player di iniziare a caricare il manifest del pod di annunci.
Prerequisiti
Prima di continuare, assicurati di avere quanto segue:
- La pubblicazione di pod DAI attivata nella tua rete Google Ad Manager.
- Un evento in live streaming di tipo Manifest pubblicazione pod. Per creare l'evento, consulta Configurare un live streaming per DAI.
Seguire i consigli
Prima di generare l'URL manifest del pod di annunci, ti consigliamo di invocare l'API Early Ad Break Notification (EABN) per specificare la durata prevista, le informazioni sul targeting e altri parametri di ogni interruzione pubblicitaria.
Per gli stream di produzione e di test, chiama l'API EABN, in particolare se la tua rete pubblicitaria ha campagne programmatiche. Per ulteriori informazioni, consulta Funzionalità e linee guida per Programmatic Direct.
Inviare una richiesta di registrazione dello stream
Quando un utente avvia uno stream di contenuti nella tua app di video player, invii una richiesta di registrazione dello stream con i parametri di targeting per creare una sessione di streaming su Ad Manager. Per maggiori dettagli su come effettuare una richiesta di registrazione dello stream, consulta Method:stream. Successivamente, riceverai dati di risposta dalla richiesta.
Gli esempi seguenti effettuano una richiesta di registrazione dello stream:
- Richiesta:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- Risposta:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- Riga di comando:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- Output:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
- Utilizzo dell'API Fetch:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- Log della console:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
Effettuare il polling per i metadati delle interruzioni pubblicitarie
Dopo aver inviato una richiesta di registrazione dello stream, esegui il polling per i metadati degli annunci. Per eseguire il polling, imposta un timer utilizzando polling_frequence
nella risposta dello stream al passaggio di registrazione per chiamare i metadata dell'annuncio.
Per ogni sondaggio, potresti ricevere un elenco parziale di annunci con metadati man mano che diventano disponibili.
Generare l'URL del file manifest del pod di annunci
Costruisci un URL per la risorsa pod dell'API Pod Serving. Successivamente, passa l'URL a un video player per avviare il caricamento del pod di annunci.
L'esempio seguente mostra la struttura dell'URL manifest del pod di annunci:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
Puoi calcolare i parametri URL manifest del pod di annunci in base alle informazioni sulle interruzioni pubblicitarie recuperate dal video player o da una notifica del server. Per i requisiti di questi parametri, consulta Metodo: manifest del pod.
Riproduci il manifest del pod di annunci
Nell'app del video player client, avvia la riproduzione dello stream di contenuti con un video player principale e segui la documentazione del video player per osservare la riproduzione e la pianificazione degli annunci, se pertinente.
Se generi gli URL manifest del pod di annunci e li inserisci nel manifest lato server, osserva gli eventi di interruzione pubblicitaria imminenti del video player e assicurati di iscriverti agli eventi ID3 durante ogni riproduzione dell'interruzione pubblicitaria. Se programmi gli eventi di interruzione pubblicitaria lato client, iscriviti agli eventi ID3 al momento della creazione.
Segnalare impressioni ed eventi correlati agli annunci
Quando un video player riproduce il pod di annunci e rileva metadati con temporizzazione ID3, ascolta gli eventi correlati agli annunci che il video player attiva ed elabora per inviare ping di verifica dei contenuti multimediali.