API di inserimento di annunci dinamici per gli stream VOD

L'API DAI di Google ti consente di implementare gli stream abilitati per l'inserimento di annunci dinamici di Google negli ambienti in cui l'implementazione dell'SDK IMA non è supportata. Ti consigliamo di continuare a utilizzare IMA sulle piattaforme in cui è supportato l'SDK IMA.

Ti consigliamo di utilizzare l'API DAI sulle seguenti piattaforme:

  • Smart TV Samsung (Tizen)
  • TV LG
  • HbbTV
  • Xbox (app JavaScript)
  • KaiOS

L'API supporta le funzionalità di base fornite dall'SDK IMA DAI. Per specifiche se hai domande sulla compatibilità o sulle funzionalità supportate, contatta il tuo account manager.

Implementare l'API DAI per gli stream VOD

L'API DAI supporta gli stream VOD che utilizzano entrambi i protocolli HLS e DASH. I passaggi descritti in questa guida si applicano a entrambi i protocolli.

Per integrare l'API nella tua applicazione per gli stream VOD, completa la seguenti passaggi:

  1. Richiedi uno stream effettuando una chiamata POST all'endpoint del flusso:

    Esempio di corpo della richiesta:

    https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
    
      {
        key1 : "value1",
        stream_parameter1 : "value2"
      }
    

    Esempio di corpo della risposta:

    {
       "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
       "total_duration":636.458,
       "content_duration":596.458,
       "valid_for":"8h0m0s",
       "valid_until":"2020-06-04T20:39:41.274707306-07:00",
       "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
       "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/",
       "ad_breaks":[
          {
             "type":"pre",
             "start":0,
             "duration":10,
             "ads":[
                {
                   "seq":1,
                   "duration":10,
                   "title":"External NCA1C1L1 Preroll",
                   "description":"External NCA1C1L1 Preroll ad",
                   "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
                   "events":[
                      {
                         "time":0.1,
                         "type":"start"
                      },
                      {
                         "time":2.5,
                         "type":"firstquartile"
                      },
                      {
                         "time":4.75,
                         "type":"midpoint"
                      },
                      {
                         "time":7.5,
                         "type":"thirdquartile"
                      },
                      {
                         "time":9,
                         "type":"complete"
                      }
                   ]
                }
             ]
          },
          {
             "type":"mid",
             "start":45,
             "duration":10,
             "ads":[
                {.... }
                   ]
                }
             ]
          },
          {
             "type":"post",
             "start":626.458,
             "duration":10,
             "ads":[...]
          }
       ]
    }
    

    Risposta all'errore

    In caso di errori, vengono restituiti codici di errore HTTP standard senza JSON corpo della risposta.

  2. Analizza la risposta JSON e archivia i seguenti valori:

    • stream_id
    • stream_manifest
    • media_verification_url
    • ad_breaks
  3. Per eseguire la verifica dei contenuti multimediali, esamina gli eventi ID3:

    1. Archivia gli eventi multimediali in una coda, salvando ogni ID multimediale insieme al relativo (se mostrato dal player).
    2. A ogni aggiornamento dal player o con una frequenza prestabilita (consigliato 500 ms), controlla se nella coda degli eventi multimediali sono presenti eventi riprodotti di recente confrontando i timestamp degli eventi con la testina di riproduzione.
    3. Per gli eventi multimediali di cui confermi la riproduzione, monitora la riproduzione aggiungendo l'ID multimediale all'endpoint di verifica dei contenuti multimediali e creando una Richiesta GET.

    Esempio di corpo della richiesta:

    https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
    

    Esempi di risposte:

    Accepted for asynchronous verification - HTTP/1.1 202 Accepted
    Successful empty response - HTTP/1.1 204 No Content
    Media verification not found - HTTP/1.1 404 Not Found
    Media verification sent by someone else - HTTP/1.1 409 Conflict
    

    Puoi verificare gli eventi di monitoraggio in Attività di streaming Monitora.

  4. (Facoltativo) Utilizza i dati ad_breaks della risposta di creazione dello stream per cercarla che tipo di evento è stato attivato.

  5. Rimuovi l'evento multimediale dalla coda.

Limitazioni

Se utilizzi l'API all'interno di WebView, si applicano le seguenti limitazioni in relazione a al targeting:

  • UserAgent: il parametro user agent viene passato come valore specifico del browser anziché dalla piattaforma sottostante.
  • rdid, idtype, is_lat: l'ID dispositivo è non vengono superate correttamente, il che limita le seguenti funzionalità:
    • Quota limite
    • Rotazione sequenziale degli annunci
    • Segmentazione e targeting del pubblico

Best practice

Mappare i tag ID3 al tipo di evento appropriato è noioso su VOD. Utilizza la ha restituito ad_breaks informazioni nel file JSON per cercare direttamente l'evento, ad esempio con i contenuti live.

Risorse aggiuntive