Améliorer le temps de chargement de l'IMA
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Le SDK IMA charge les dépendances pour demander des annonces, mesurer la visibilité et générer des rapports sur les impressions d'annonces. En initialisant IMA avant d'envoyer une demande d'annonce, vous maximisez le temps de chargement des dépendances IMA avant la diffusion de l'annonce. Cette page explique comment gérer les temps de chargement IMA dans votre application.
Appeler ImaSdkFactory.initialize()
La méthode ImaSdkFactory.initialize()
commence à précharger les ressources du SDK avant la première demande d'annonce. Pour utiliser initialize()
, vous devez disposer de la version 3.35.1 d'IMA ou ultérieure.
Appelez ImaSdkFactory.initialize()
au démarrage de l'application ou le plus tôt possible dans le cycle de vie de l'application, comme le permet la structure de votre application. L'appel initialize()
utilise les paramètres suivants:
context
: utilise le contexte de l'application, qui est toujours disponible pendant le cycle de vie de l'application.
settings
: transmettez un objet ImaSdkSettings
avec ses valeurs définies. Les paramètres IMA utilisés dans l'appel initialize()
doivent être identiques aux valeurs de paramètres utilisées dans l'appel createAdsLoader()
. Le SDK IMA utilise ces paramètres, en particulier le paramètre de langue, pour la clé de cache. Nous vous déconseillons d'utiliser des valeurs de test ou factices pour les paramètres utilisés dans l'appel de la méthode initialize()
, car des erreurs de cache peuvent se produire et augmenter le temps de chargement des annonces.
Réutiliser l'instance AdsLoader
Pour améliorer le temps de chargement de l'IMA, nous vous recommandons de réutiliser la même instance AdsLoader
. L'interface AdsLoader
peut gérer plusieurs requêtes d'annonces ou de flux.
Évitez de créer une instance AdsLoader
pour chaque requête. La création d'une instance AdsLoader
nécessite un temps de chargement et utilise des ressources d'appareil supplémentaires.
Demander des annonces avant la lecture
Si vous avez accès à l'instance AdsLoader
avant de commencer la lecture de l'annonce, vous pouvez également appeler la méthode AdsLoader.requestAds()
plus tôt. Cet appel lance le chargement des annonces pré-roll. Lorsque l'utilisateur est prêt à lancer la lecture du contenu, appelez la méthode AdsManager.init()
et attendez l'événement LOADED
pour diffuser des annonces.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 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."]]