Améliorer le temps de chargement de l'IMA

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 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.

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.