Early ad break notification v1

Utilizzo dell'API Early Ad Break Notification

  • L'identificatore del live streaming corrispondente a cui viene creata l'interruzione pubblicitaria. Questo identificatore può essere uno dei seguenti:
  • La "chiave asset" del live streaming.
  • La "chiave asset personalizzata" del live streaming, che ti consente di gestire il tuo spazio chiavi specificando la tua stringa di identificatore.
  • L'"ID origine di contenuto" e l'"ID contenuto" del live streaming.

Nota: devi disporre dell'autorizzazione per utilizzare questo tipo di identificatore. Per ulteriori informazioni, contatta il tuo account manager.

  • La durata prevista della prossima interruzione pubblicitaria. La durata deve essere il più possibile simile alla durata effettiva dell'interruzione pubblicitaria.

Oltre a questi campi obbligatori, puoi anche inviare parametri di targeting personalizzati, il nome di un modello di pod di annunci da applicare o i dati di cue out SCTE35, se disponibili.

Prerequisiti

Per utilizzare l'API EABN, devi creare un account di servizio e aggiungerlo alla tua rete Google Ad Manager.

Creazione di un account di servizio

Per creare un account di servizio per chiamare l'API EABN, completa i seguenti passaggi: - Se hai un account Google Cloud, utilizza il modulo IAM per creare un account di servizio. Per scoprire di più, consulta la pagina Creare e gestire gli account di servizio. - Se non hai un account Google Cloud, completa i seguenti passaggi per crearne uno dalla console API di Google:

  1. Crea un nuovo progetto o selezionane uno esistente.
  2. Nella pagina Credenziali, fai clic su Gestisci account di servizio.
  3. Nella pagina Account di servizio, fai clic su CREA ACCOUNT DI SERVIZIO.
  4. Nella pagina Crea account di servizio, inserisci i dettagli dell'account. Quindi, fai clic su CREA.

Dopo aver creato un account di servizio, copia la chiave JSON dell'account, che viene utilizzata per l'autenticazione.

Aggiunta dell'account di servizio alla rete Google Ad Manager

Per aggiungere il tuo account di servizio alla tua rete, completa i passaggi descritti in Aggiungere un utente con account di servizio per l'accesso tramite API.

Attivazione dell'API

Dopo aver creato l'account di servizio, fornisci le seguenti informazioni al tuo account manager per attivare l'API per il tuo account:

  • L'indirizzo email del tuo account Google Cloud
  • Il tuo account di servizio
  • Il codice di rete della tua rete Google Ad Manager.

Dopo che l'API è stata attivata dal tuo account manager, completa i seguenti passaggi per attivarla:

  1. Nella libreria API di Google, cerca "API Video Google Ad Manager".
  2. Fai clic su ABILITA.

Nota: se l'API non viene visualizzata nei risultati di ricerca, contatta il tuo account manager per verificare che il tuo account sia stato attivato per l'API DAI.

Utilizzo dell'API

Puoi chiamare l'API EABN utilizzando richieste JSON/REST.

Autorizzazione

Per effettuare chiamate autorizzate all'API EABN, devi generare le credenziali dell'account di servizio OAuth2 utilizzando la chiave JSON del tuo account di servizio e l'ambito https://www.googleapis.com/auth/video-ads. Per ulteriori informazioni, consulta l'articolo sull'utilizzo di OAuth 2.0 per applicazioni da server a server.

Devi includere il token di autorizzazione risultante come intestazione Auth per ogni chiamata all'API EABN.

Invio di una notifica di interruzione pubblicitaria anticipata

Per inviare una notifica di interruzione pubblicitaria anticipata, invia una richiesta POST a uno dei tre URL EABN validi, a seconda di come preferisci specificare il live streaming. Le sezioni seguenti spiegano le differenze tra gli URL e forniscono esempi di richieste e risposte.

URL

Esistono tre URL validi per la notifica di interruzione pubblicitaria anticipata. Puoi utilizzare tutti e tre i tipi per creare un'interruzione pubblicitaria (POST) o visualizzare l'elenco delle interruzioni pubblicitarie assegnate (GET).

Per utilizzare la chiave asset di un live streaming, utilizza:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks

Per utilizzare la chiave asset personalizzata di un live streaming:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks

Per utilizzare l'approccio ID origine di contenuto e Content ID, utilizza:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks

Per tutti i parametri:

  • network_code rappresenta il codice di rete della tua rete Google Ad Manager.
  • asset_key indica la chiave asset visualizzata nella pagina dei dettagli del live streaming.
  • custom_asset_key rappresenta la chiave asset personalizzata del tuo live streaming.
  • content_source_id rappresenta l'ID di una fonte di contenuti in Google Ad Manager.
  • content_id rappresenta l'ID di un contenuto in Google Ad Manager.

Nota: la coppia content_source_id/content_id specificata deve essere associata a un live streaming in Google Ad Manager.

Corpo della richiesta: utilizzato solo per creare un'interruzione pubblicitaria (POST)

Oggetto

expectedDuration

Obbligatorio La durata di questa interruzione pubblicitaria, nel formato di durata standard di Google (xx.xxxs, dove xx.xxx è il numero di secondi)

customParams

Facoltativo Le coppie chiave-valore da includere nelle richieste di annunci per questa interruzione per il targeting dei criteri personalizzati in AM360, separate da

=

e a cui si sono uniti

&

.
Esempio:

key=value&key2=value2,value3


Per ulteriori informazioni sul targeting, consulta l'articolo Fornire parametri di targeting alla riproduzione in streaming.

podTemplateName

Facoltativo Il nome del modello di pod di annunci

scte35CueOut

Facoltativo Dati con codifica Base64 a partire dal cue-out di scte35. Può includere

splice_insert()

o

time_signal()

utilizzando il comando gcloud.
Esempi:

  • time_signal():

    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

  • splice_insert():

    /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=

Richieste di esempio

Creare un'interruzione pubblicitaria
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
    "expectedDuration": "30s",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "customParams": "param1=value1&param2=value2",
    "podTemplateName": "podtemplate"
}
Corpo della risposta

Il corpo della risposta contiene tutti i parametri inviati nell'oggetto adBreak, nonché un campo name aggiuntivo che contiene l'ID standard di Google della interruzione pubblicitaria creata. Questo campo viene restituito nel seguente formato:

networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Esempio di risposta
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
}
Elenca le interruzioni pubblicitarie assegnate
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
Corpo della risposta

Il corpo della risposta contiene le interruzioni pubblicitarie con un campo breakState aggiuntivo per ogni interruzione pubblicitaria assegnata allo stream. Il campo breakState supporta i seguenti valori:

 // Ad break decisioning has started.
BREAK_STATE_DECISIONED

// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Esempio di risposta
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "breakState": "BREAK_STATE_COMPLETE"
}