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 gli annunci, misurare la visibilità e registrare le impressioni degli annunci. Se esegui l'inizializzazione di IMA prima di effettuare una richiesta di annuncio, massimizzi il tempo necessario per caricare le dipendenze di IMA prima della riproduzione dell'annuncio. 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 annuncio. Per utilizzare initialize()
, è necessaria la versione IMA 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.
Richiedere gli annunci prima della riproduzione
Se hai accesso all'istanza AdsLoader
prima di avviare la riproduzione dell'annuncio, puoi anche chiamare in anticipo il metodo AdsLoader.requestAds()
. Se effettui questa chiamata, viene avviato il caricamento degli annunci pre-roll. Quando l'utente è pronto per avviare la riproduzione dei contenuti, chiama il metodo AdsManager.init()
e attendi l'evento LOADED
per riprodurre gli annunci.
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-31 UTC.
[null,null,["Ultimo aggiornamento 2025-08-31 UTC."],[],[],null,["# Improve IMA load time\n\nThe IMA SDK loads dependencies to request ads, measure viewability and\nreport ad impressions. By initializing IMA before you make an ad request, you\nmaximize the time to load IMA dependencies before ad playback. This page covers\nhow to handling IMA load times in your app.\n\nCall `ImaSdkFactory.initialize()`\n---------------------------------\n\nThe\n[`ImaSdkFactory.initialize()`](/interactive-media-ads/docs/sdks/android/client-side/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 ad request. To\nuse `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`](/interactive-media-ads/docs/sdks/android/client-side/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 ads in advance of playback\n----------------------------------\n\nIf you have access to the `AdsLoader` instance prior to starting ad playback,\nyou can also call the\n[`AdsLoader.requestAds()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#requestAds(com.google.ads.interactivemedia.v3.api.AdsRequest))\nmethod early. Making this call starts loading pre-roll ads. When the user\nis ready to start content playback, call the\n[`AdsManager.init()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/BaseManager#init())\nmethod and wait for the `LOADED` event to play ads."]]