Gli SDK IMA semplificano l'integrazione degli annunci multimediali nei tuoi siti web e nelle tue app. Gli SDK IMA possono richiedere annunci da qualsiasi ad server conforme a VAST e gestire la riproduzione degli annunci nelle tue app. Con gli SDK lato client IMA, mantieni il controllo della riproduzione dei video dei contenuti, mentre l'SDK gestisce la riproduzione degli annunci. Gli annunci vengono riprodotti in un video player separato posizionato sopra il video player dei contenuti dell'app.
Questa guida mostra come integrare l'SDK IMA in una semplice app di video player. Se vuoi visualizzare o seguire un'integrazione di esempio completata, scarica l'esempio semplice da GitHub. Se ti interessa un player HTML5 con l'SDK preintegrato, dai un'occhiata al plug-in SDK IMA per Video.js.
Panoramica della tecnologia IMA lato client
L'implementazione lato client di IMA prevede quattro componenti principali dell'SDK, che vengono illustrati in questa guida:
AdDisplayContainer
: un oggetto contenitore che specifica dove IMA esegue il rendering degli elementi dell'interfaccia utente dell'annuncio e misura la visibilità, incluse Visualizzazione attiva e Open Measurement.AdsLoader
: un oggetto che richiede annunci e gestisce gli eventi delle risposte alle richieste di annunci. Devi solo inizializzare un caricatore di annunci, che può essere riutilizzato per tutta la durata dell'applicazione.AdsRequest
: un oggetto che definisce una richiesta di annunci. Le richieste di annunci specificano l'URL del tag annuncio VAST, nonché parametri aggiuntivi, come le dimensioni dell'annuncio.AdsManager
: un oggetto che contiene la risposta alla richiesta di annunci, controlla la riproduzione degli annunci e ascolta gli eventi correlati agli annunci attivati dall'SDK.
Prerequisiti
Prima di iniziare, ti serviranno:
- Tre file vuoti:
- index.html
- style.css
- ads.js
- Python installato sul computer o un server web da utilizzare per i test
1. Avvia un server di sviluppo
Poiché l'SDK IMA carica le dipendenze utilizzando lo stesso protocollo della pagina da cui viene caricato, devi utilizzare un server web per testare la tua app. Il modo più semplice per avviare un server di sviluppo locale è utilizzare il server integrato di Python.
- Utilizzando una riga di comando, dalla directory contenente il file index.html, esegui:
python -m http.server 8000
- In un browser web, vai a
http://localhost:8000/
Puoi anche utilizzare qualsiasi altro server web, ad esempio Apache HTTP Server.
2. Creare un video player semplice
Innanzitutto, modifica index.html per creare un semplice elemento video HTML5, contenuto in un elemento di wrapping, e un pulsante per avviare la riproduzione. L'esempio seguente importa l'SDK IMA e configura l'elemento contenitore AdDisplayContainer
. Per maggiori dettagli, consulta rispettivamente i passaggi
Importa l'SDK IMA
e
Crea il contenitore dell'annuncio
.
Aggiungi i tag necessari per caricare i file style.css e ads.js. Quindi, modifica styles.css per rendere il video player adattabile ai dispositivi mobili. Infine, in ads.js, dichiara le variabili e attiva la riproduzione del video quando fai clic sul pulsante di riproduzione.
Tieni presente che lo snippet di codice ads.js contiene una chiamata a setUpIMA()
, che è
definito nella sezione
Inizializza AdsLoader ed effettua una richiesta di annunci
.
3. Importa l'SDK IMA
Aggiungi il framework IMA utilizzando un tag script in index.html, prima del tag per ads.js
.
4. Crea il contenitore dell'annuncio
Nella maggior parte dei browser, l'SDK IMA utilizza un elemento contenitore degli annunci dedicato per la visualizzazione sia degli annunci sia degli elementi dell'interfaccia utente correlati agli annunci. Le dimensioni di questo contenitore devono essere impostate in modo da sovrapporre l'elemento video dall'angolo in alto a sinistra. L'altezza e la larghezza degli annunci posizionati in questo contenitore sono impostate dall'oggetto adsManager
, pertanto non è necessario impostare questi valori manualmente.
Per implementare questo elemento contenitore dell'annuncio, crea innanzitutto un nuovo div
all'interno dell'elemento video-container
. Aggiorna il CSS per posizionare l'elemento nell'angolo in alto a sinistra del video-element
. Infine, aggiungi la funzione createAdDisplayContainer()
per creare l'oggetto
AdDisplayContainer
utilizzando il nuovo contenitore annunci
div
.
5. Inizializza AdsLoader ed effettua una richiesta di annunci
Per richiedere gli annunci, crea un'istanza AdsLoader
. Il costruttore AdsLoader
accetta come input un oggetto
AdDisplayContainer
e può essere utilizzato per elaborare gli oggetti
AdsRequest
associati a un URL del tag annuncio specificato. Il tag annuncio utilizzato in questo esempio contiene un
annuncio pre-roll di 10 secondi. Puoi testare questo o qualsiasi altro URL del tag annuncio utilizzando lo strumento IMA Video Suite Inspector.
Come best practice, mantieni una sola istanza di AdsLoader
per l'intero
ciclo di vita di una pagina. Per effettuare ulteriori richieste di annunci, crea un nuovo oggetto AdsRequest
, ma riutilizza lo stesso AdsLoader
. Per ulteriori informazioni, consulta le domande frequenti sull'SDK IMA.
Monitora e rispondi agli eventi di caricamento degli annunci e di errore utilizzando AdsLoader.addEventListener
.
Ascolta i seguenti eventi:
ADS_MANAGER_LOADED
AD_ERROR
Per creare gli ascoltatori onAdsManagerLoaded()
e onAdError()
, consulta l'esempio riportato di seguito:
6. Rispondere agli eventi AdsLoader
Quando AdsLoader
carica gli annunci correttamente, emette un evento ADS_MANAGER_LOADED
. Analizza l'evento passato al callback per inizializzare l'oggetto
AdsManager
. AdsManager
carica i singoli annunci come definiti dalla risposta all'URL del tag annuncio.
Assicurati di gestire gli errori che si verificano durante la procedura di caricamento. Se gli annunci non si caricano, assicurati che la riproduzione dei contenuti multimediali continui senza annunci per evitare di interferire con la visualizzazione dei contenuti da parte dell'utente.
Per ulteriori dettagli sugli ascoltatori impostati nella funzione onAdsManagerLoaded()
, consulta
le seguenti sottosezioni:
Gestire gli errori AdsManager
Il gestore degli errori creato per AdsLoader
può essere utilizzato anche come gestore degli errori per AdsManager
. Guarda il gestore eventi che riutilizza la funzione onAdError()
.
Gestire gli eventi di riproduzione e messa in pausa
Quando AdsManager
è pronto a inserire un annuncio da visualizzare, attiva l'evento
CONTENT_PAUSE_REQUESTED
. Gestisci questo evento attivando una messa in pausa sul
video player sottostante. Analogamente, quando un annuncio viene completato, AdsManager
attiva l'evento
CONTENT_RESUME_REQUESTED
. Gestisci questo evento riavviando la riproduzione del
video dei contenuti sottostanti.
Per le definizioni delle funzioni onContentPauseRequested()
e
onContentResumeRequested()
, consulta il seguente esempio:
Gestire la riproduzione dei contenuti durante gli annunci non lineari
Il pulsante AdsManager
mette in pausa il video dei contenuti quando un annuncio è pronto per essere riprodotto, ma questo comportamento non tiene conto degli annunci non lineari, in cui i contenuti continuano a essere riprodotti mentre viene visualizzato l'annuncio.
Per supportare gli annunci non lineari, ascolta AdsManager
per emettere
LOADED
. Controlla se l'annuncio è lineare e, in caso contrario, riprendi la riproduzione nell'elemento video.
Per la definizione della funzione onAdLoaded()
, consulta l'esempio seguente.
7. Attivare la funzionalità Interrompi con un clic sui dispositivi mobili
Poiché AdContainer
sovrappone l'elemento video, gli utenti non possono interagire direttamente con il player sottostante. Ciò può confondere gli utenti che utilizzano dispositivi mobili, i quali si aspettano di poter toccare un visualizzatore video per mettere in pausa la riproduzione. Per risolvere il problema, l'SDK IMA passa gli eventuali clic non gestiti da IMA dall'overlay dell'annuncio all'elemento AdContainer
, dove possono essere gestiti. Questo non si applica agli annunci lineari su browser non mobile, in quanto il clic sull'annuncio apre il
link di clickthrough.
Per implementare la funzionalità di messa in pausa con un clic, aggiungi la funzione di gestore dei clic adContainerClick()
chiamata
nel listener on window load.
8. Avvia AdsManager
Per avviare la riproduzione dell'annuncio, avvia e inizia il AdsManager
. Per supportare completamente i browser per dispositivi mobili, in cui non puoi riprodurre automaticamente gli annunci, attiva la riproduzione degli annunci dalle interazioni degli utenti con la pagina, ad esempio facendo clic sul pulsante di riproduzione.
9. Supportare il ridimensionamento del player
Affinché gli annunci possano ridimensionarsi dinamicamente e adattarsi alle dimensioni di un video player o alle modifiche dell'orientamento dello schermo, chiama adsManager.resize()
in risposta agli eventi di ridimensionamento della finestra.
È tutto. Ora richiedi e visualizzi gli annunci con l'SDK IMA. Per scoprire di più sulle funzionalità SDK avanzate, consulta le altre guide o i sample su GitHub.