Migliorare il tempo di caricamento di IMA

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 oggetto ImaSdkSettings con i relativi valori impostati. Le impostazioni IMA utilizzate nella chiamata initialize() devono essere uguali ai valori delle impostazioni utilizzati nella chiamata createAdsLoader(). 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 metodo initialize(), 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.