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 lecture 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 objetImaSdkSettings
avec ses valeurs définies. Les paramètres IMA utilisés dans l'appelinitialize()
doivent être identiques aux valeurs de paramètres utilisées dans l'appelcreateAdsLoader()
. 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éthodeinitialize()
, 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.
Gérer le temps de chargement avec l'extension ExoPlayer-IMA
Les applications qui utilisent l'extension ExoPlayer-IMA recréent une instance AdsLoader
à chaque chargement d'annonce. L'appel initialize()
accélère la première demande d'annonce de AdLoader
. Pour accélérer la première demande d'annonce pour de nouvelles activités, appelez à nouveau initialize()
au début de la nouvelle activité.
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.