L'SDK IMA carica le dipendenze per richiedere stream con inserimento di annunci dinamici (DAI), misurare la visibilità e registrare le impressioni degli annunci. Se esegui l'inizializzazione di IMA prima di effettuare una richiesta di stream, massimizzi il tempo di caricamento delle dipendenze di IMA prima della riproduzione dello stream. Questa pagina spiega come gestire i tempi di caricamento di IMA nella tua app.
Chiama ImaSdkFactory.initialize()
Il metodo
ImaSdkFactory.initialize()
inizia a precaricare le risorse dell'SDK prima della prima richiesta di stream.
Per utilizzare initialize()
, devi avere IMA versione 3.35.1 o successive.
Chiama ImaSdkFactory.initialize()
all'avvio dell'applicazione o il prima possibile nel ciclo di vita dell'applicazione, in base alla struttura dell'app. La chiamata initialize()
accetta i seguenti parametri:
context
: utilizza il contesto dell'applicazione, che è sempre disponibile durante il ciclo di vita dell'applicazione.settings
: passa un oggettoImaSdkSettings
con i relativi valori impostati. Le impostazioni IMA utilizzate nella chiamatainitialize()
devono essere uguali ai valori delle impostazioni utilizzati nella chiamatacreateAdsLoader()
. L'SDK IMA utilizza queste impostazioni, in particolare l'impostazione della lingua, per la chiave della cache. Ti sconsigliamo di utilizzare valori di prova o falsi per le impostazioni impiegate nella chiamata al metodoinitialize()
, in quanto potrebbero verificarsi mancate corrispondenze nella cache e aumentare il tempo di caricamento dell'annuncio.
Riutilizza l'istanza AdsLoader
Per migliorare il tempo di caricamento dell'IMA, ti consigliamo di riutilizzare la stessa
AdsLoader
istanza. L'interfaccia AdsLoader
può gestire più richieste di annunci o stream.
Evita di creare una nuova istanza di AdsLoader
per ogni richiesta. La creazione di una nuova istanzaAdsLoader
richiede un tempo di caricamento e utilizza risorse aggiuntive del dispositivo.
Gestire il tempo di caricamento con l'estensione ExoPlayer-IMA
Le app che utilizzano
l'estensione ExoPlayer-IMA
ricreano un'istanza AdsLoader
a ogni caricamento dello stream. La chiamata initialize()
accelera la prima richiesta di stream del AdLoader
. Per velocizzare la prima richiesta di stream per le nuove attività, chiama di nuovo initialize()
all'inizio della nuova attività.
Richiedi gli stream prima della riproduzione
Se hai accesso all'istanza AdsLoader
prima di avviare la riproduzione dello stream, puoi anche chiamare in anticipo il metodo
AdsLoader.requestStream()
. Se effettui questa chiamata, viene avviato il caricamento dello stream DAI. Quando l'utente è pronto per avviare la riproduzione dello stream, chiama il metodo StreamManager.init()
per inizializzarla.