Iniziare a utilizzare SGAI per i live streaming

L'inserimento di annunci guidato dal server (SGAI) fornisce un manifest di pod di annunci pronto per l'unione sui dispositivi client. Se hai attivato DAI Pod Serving nella tua rete Google Ad Manager, hai accesso a SGAI. Se non hai attivato DAI Pod Serving, contatta il tuo account manager.

Con SGAI, utilizzi gli endpoint dell'API Pod Serving per creare uno stream che recupera i metadati degli annunci e i manifest dei pod di annunci.

Se disponi di un server di manipolazione dei manifest, puoi generare gli URL dei manifest dei pod di annunci e inserire indicatori di annunci che contengono le informazioni dei manifest dei pod di annunci nel flusso di contenuti, in base alla specifica che preferisci.

In alternativa, puoi pianificare un'interruzione pubblicitaria utilizzando un meccanismo diverso dagli indicatori di annunci nel manifest dello stream. In questi casi, la tua app può ascoltare altri eventi, ad esempio l'interazione dell'utente con lo stream, l'app stessa o una notifica push. Dopo questi eventi, l'app può generare gli URL dei manifest dei 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:

  • DAI Pod Serving attivato nella tua rete Google Ad Manager.
  • Un evento di 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 del manifest del pod di annunci, ti consigliamo di chiamare 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, soprattutto 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 nell'app del video player, invia una richiesta di registrazione dello stream con i parametri di targeting per creare una sessione di streaming su Ad Manager. Per i dettagli su come inviare una richiesta di registrazione dello stream, consulta Metodo:stream. Dopodiché, riceverai i dati di risposta dalla richiesta.

Gli esempi seguenti inviano una richiesta di registrazione dello stream:

HTTP in testo normale

  • 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"
}

Conchiglia

  • 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"
}

JavaScript

  • 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"
}

Eseguire il polling dei metadati dell'interruzione pubblicitaria

Dopo aver inviato una richiesta di registrazione dello stream, esegui il polling dei metadati degli annunci. Per eseguire il polling, imposta un timer utilizzando polling_frequence nella risposta dello stream al passaggio di registrazione per chiamare i metadati degli annunci. Per ogni polling, potresti ricevere un elenco parziale di annunci con metadati man mano che diventano disponibili.

Generare l'URL del manifest del pod di annunci

Crea un URL per la risorsa pod dell'API Pod Serving. Dopodiché, passa l'URL a un video player per avviare il caricamento del pod di annunci.

L'esempio seguente mostra la struttura dell'URL del 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 dell'URL del manifest del pod di annunci in base alle informazioni sull'interruzione pubblicitaria recuperate dal video player o da una notifica del server. Per i requisiti di questi parametri, consulta Metodo: manifest del pod.

Riprodurre 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 dei manifest dei pod di annunci e li inserisci nel manifest sul lato server, osserva gli eventi di interruzione pubblicitaria imminenti del video player e assicurati di abbonarti agli eventi id3 durante la riproduzione di ogni interruzione pubblicitaria. Se pianifichi gli eventi di interruzione pubblicitaria dal lato client, abbonati agli eventi id3 durante la creazione.

Generare report su impressioni ed eventi degli annunci

Quando un video player riproduce il pod di annunci e rileva i metadati temporizzati id3, ascolta gli eventi degli annunci attivati dal video player ed elaborali per inviare i ping di verifica dei media.