Richiedere stream VOD DAI

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