Bannières adaptatives intégrées

Sélectionnez une plate-forme : Android iOS Flutter Android (Legacy)

Les bannières adaptatives vous permettent de spécifier la largeur d'une annonce afin de déterminer la taille optimale pour chaque appareil. Contrairement aux bannières adaptatives ancrées, les bannières adaptatives intégrées sont plus grandes, plus hautes et n'utilisent pas de hauteur fixe. La hauteur des bannières adaptatives intégrées est variable. Ces bannières peuvent occuper tout l'écran ou une hauteur maximale que vous spécifiez.

Ce guide explique comment créer des bannières adaptatives intégrées et définir leur taille.

L'image suivante montre des bannières adaptatives intégrées dans un contenu défilant :

Diagramme montrant les différences entre les bannières adaptatives et les bannières adaptatives intégrées

Avant de commencer

Avant de continuer, assurez-vous de configurer des bannières publicitaires.

Pour afficher un exemple complet de bannière adaptative intégrée, téléchargez l'exemple d'application suivant :

Implémenter des bannières adaptatives intégrées

Pour implémenter des bannières adaptatives intégrées, vous devez définir la taille de l'annonce, créer une demande d'annonce et charger l'annonce.

Pour dimensionner une bannière adaptative intégrée, déterminez la largeur de l'annonce. Voici quelques approches courantes :

  • Utiliser la largeur plein écran.
  • Utiliser la largeur de la mise en page parent contenant l'annonce.
  • Ajuster la largeur pour tenir compte des zones sécurisées de l'appareil.

Lorsque vous créez l'objet de taille de l'annonce, utilisez cette largeur calculée.

L'exemple suivant définit la taille de l'annonce, crée une demande d'annonce et charge l'annonce :

Kotlin

private fun loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()

  // Step 2 - Load the ad.
  BannerAd.load(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        // Assign the loaded ad to the BannerAd object.
        bannerAd = ad
        // Step 3 - Call BannerAd.getView() to get the View and add it
        // to view hierarchy on the UI thread.
        activity?.runOnUiThread {
          binding.bannerViewContainer.addView(ad.getView(requireActivity()))
        }
      }

      override fun onAdFailedToLoad(loadAdError: LoadAdError) {
        bannerAd = null
      }
    }
  )
}

Java

private void loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
      adSize).build();

  // Step 2 - Load the ad.
  BannerAd.load(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          // Assign the loaded ad to the BannerAd object.
          bannerAd = ad;
          // Step 3 - Call BannerAd.getView() to get the View and add it
          // to view hierarchy on the UI thread.
          if (getActivity() != null) {
            getActivity()
                .runOnUiThread(() ->
                    binding.bannerViewContainer.addView(ad.getView(getActivity())));
          }
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          bannerAd = null;
        }
      });
}

Définissez une taille d'annonce inférieure ou égale à la taille de l'écran de l'appareil. Pour déterminer la taille maximale de l'écran, utilisez la Resources.getDisplayMetrics méthode. Les dimensions de l'objet AdSize utilisent des pixels indépendants de la densité (dp). Lors de la comparaison, convertissez la taille de l'écran de pixels en dp. Pour en savoir plus sur les contraintes de taille, consultez Exigences concernant la taille des demandes d'annonces.

Définir la mise en page de la bannière adaptative intégrée

Pour précharger une bannière adaptative intégrée pour une mise en page spécifique, utilisez les méthodes suivantes :

Si votre application est compatible avec les vues portrait et paysage, et que vous souhaitez précharger une bannière adaptative dans la mise en page actuelle, utilisez la AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) méthode. Cette méthode charge une annonce dans la mise en page actuelle.

Limiter la hauteur de la bannière adaptative intégrée

Par défaut, les bannières adaptatives intégrées créées sans valeur maxHeight ont une hauteur maximale égale à la hauteur de l'appareil. Pour limiter la hauteur de la bannière adaptative intégrée, utilisez la AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight) méthode.