Migliorare il tempo di caricamento di IMA
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 utilizzate 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.
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.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-21 UTC.
[null,null,["Ultimo aggiornamento 2025-08-21 UTC."],[],[],null,["# Improve IMA load time\n\nThe IMA SDK loads dependencies to request Dynamic Ad Insertion (DAI) streams,\nmeasure viewability and report ad impressions. By initializing IMA before you\nmake a stream request, you maximize the time to load IMA dependencies before\nstream playback. This page covers how to handling IMA load times in your app.\n\nCall `ImaSdkFactory.initialize()`\n---------------------------------\n\nThe\n[`ImaSdkFactory.initialize()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkFactory#initialize(android.content.Context,com.google.ads.interactivemedia.v3.api.ImaSdkSettings))\nmethod starts to preload SDK resources in advance of the first stream request.\nTo use `initialize()`, you need IMA version 3.35.1 or higher.\n\nCall `ImaSdkFactory.initialize()` on application startup, or as early in the\napplication's lifecycle as your app structure allows. The `initialize()` call\ntakes the following parameters:\n\n- **`context`**: Uses the application context, which is always available during the lifecycle of the application.\n- **`settings`** : Pass the an [`ImaSdkSettings`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkSettings) object with its values set. The IMA settings used in the `initialize()` call must be the same as the settings values used in the `createAdsLoader()` call. The IMA SDK utilizes these settings, particularly the language setting, for cache key. We don't recommend using test or fake values for the settings used in the `initialize()` method call, as cache misses might occur and increase ad load time.\n\nReuse the `AdsLoader` instance\n------------------------------\n\nTo improve IMA load time, we recommend you reuse the same\n[`AdsLoader`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader)\ninstance. The `AdsLoader` interface can handle multiple ad or stream requests.\nAvoid creating a new `AdsLoader` instance for each request. Creating a new\n`AdsLoader` instance requires a load time, and uses additional device resources.\n\nRequest streams in advance of playback\n--------------------------------------\n\nIf you have access to the `AdsLoader` instance prior to starting stream\nplayback, you can also call the\n[`AdsLoader.requestStream()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#requestStream(com.google.ads.interactivemedia.v3.api.StreamRequest))\nmethod early. Making this call starts loading the DAI stream. When the user\nis ready to start stream playback, call the\n[`StreamManager.init()`](/ad-manager/dynamic-ad-insertion/sdk/android/api/reference/com/google/ads/interactivemedia/v3/api/BaseManager#init())\nmethod to initialize stream playback."]]