Configurer des bannières publicitaires

Sélectionnez une plate-forme : Android (bêta) Nouveau Android iOS Unity Flutter

Les bannières sont des annonces rectangulaires qui occupent une partie de la mise en page d'une application. Les bannières adaptatives ancrées sont des annonces au format fixe qui restent à l'écran lorsque les utilisateurs interagissent avec l'application, ancrées en haut ou en bas de l'écran.

Ce guide explique comment charger une bannière adaptative ancrée dans une application Android.

Prérequis

Toujours effectuer des tests avec des annonces tests

Lorsque vous créez et testez vos applications, assurez-vous d'utiliser des annonces tests plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.

Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces tests dédié pour les bannières Android :

ca-app-pub-3940256099942544/9214589741

Il a été spécialement configuré pour renvoyer des annonces tests pour chaque requête. Vous pouvez l'utiliser dans vos propres applications lors de la programmation, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.

Pour en savoir plus sur le fonctionnement des annonces tests Google Mobile Ads SDK, consultez Activer les annonces tests.

Définir la vue d'annonce

Mise en page XML

Ajoutez une vue à votre fichier XML de mise en page pour qu'elle serve de conteneur à votre bannière adaptative ancrée :

<!-- Ad view container that fills the width of the screen and adjusts its
    height to the content of the ad. -->
<FrameLayout
        android:id="@+id/ad_view_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_alignParentBottom="true" />

Jetpack Compose

  1. Incluez le dossier JetpackCompose Utilities. Ce dossier inclut des assistants pour composer l'objet AdView et les composants.

  2. Composez un AdView :


// Place the ad view at the bottom of the screen.
Column(modifier = modifier.fillMaxSize(), verticalArrangement = Arrangement.Bottom) {
  Box(modifier = modifier.fillMaxWidth()) { BannerAd(adView, modifier) }
}

Définir la taille de l'annonce

Définissez le AdSize sur un type de bannière adaptative ancrée avec une largeur spécifiée :

Java


// Request a large anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360));

Kotlin


// Request a large anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360))

Jetpack Compose


// Set a large anchored adaptive banner ad size with a given width.
val adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(LocalContext.current, 360)
adView.setAdSize(adSize)

Ajouter AdView à la mise en page

Créez un AdView à l'aide de la taille d'annonce à ajouter à la mise en page de votre application :

Java


// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
// Request a large anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360));

// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);

Kotlin


// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
// Request a large anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360))
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

Jetpack Compose


val adView = remember { AdView(context) }

// Setup and load the adview.
// Set the unique ID for this specific ad unit.
adView.adUnitId = BANNER_AD_UNIT_ID

// Set a large anchored adaptive banner ad size with a given width.
val adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(LocalContext.current, 360)
adView.setAdSize(adSize)

// Place the ad view at the bottom of the screen.
Column(modifier = modifier.fillMaxSize(), verticalArrangement = Arrangement.Bottom) {
  Box(modifier = modifier.fillMaxWidth()) { BannerAd(adView, modifier) }
}

Charger une annonce

L'exemple suivant charge une bannière adaptative ancrée de 360 de largeur dans un objet AdView :

Java

AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Kotlin

val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

Actualiser une annonce

Si vous avez configuré votre bloc d'annonces pour qu'il s'actualise, vous n'avez pas besoin de demander une autre annonce lorsque le chargement échoue. Google Mobile Ads SDK respecte la fréquence d'actualisation que vous avez spécifiée dans l'interface utilisateur d'AdMob. Si vous n'avez pas activé l'actualisation, envoyez une nouvelle requête. Pour en savoir plus sur l'actualisation des blocs d'annonces, par exemple sur la définition d'une fréquence d'actualisation, consultez Utiliser l'actualisation automatique pour les bannières.

Libérer une ressource d'annonce

Lorsque vous avez terminé d'utiliser une bannière, vous pouvez libérer ses ressources.

Pour libérer la ressource de l'annonce, supprimez l'annonce de la hiérarchie des vues et supprimez toutes ses références :

Java

public void destroyBanner() {
  // Remove banner from view hierarchy.
  if (adView != null) {
    View parentView = (View) adView.getParent();
    if (parentView instanceof ViewGroup) {
      ((ViewGroup) parentView).removeView(adView);
    }

    // Destroy the banner ad resources.
    adView.destroy();
  }

  // Drop reference to the banner ad.
  adView = null;
}

Kotlin

fun destroyBanner() {
  // Remove banner from view hierarchy.
  val parentView = adView?.parent
  if (parentView is ViewGroup) {
    parentView.removeView(adView)
  }

  // Destroy the banner ad resources.
  adView?.destroy()

  // Drop reference to the banner ad.
  adView = null
}

Événements d'annonce

Vous pouvez écouter un certain nombre d'événements dans le cycle de vie de l'annonce, y compris le chargement, l'impression et le clic sur l'annonce, ainsi que les événements d'ouverture et de fermeture de l'annonce. Il est recommandé de définir le rappel avant de charger la bannière.

Java

if (adView != null) {
  adView.setAdListener(
      new AdListener() {
        @Override
        public void onAdClicked() {
          // Code to be executed when the user clicks on an ad.
        }

        @Override
        public void onAdClosed() {
          // Code to be executed when the user is about to return
          // to the app after tapping on an ad.
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          // Code to be executed when an ad request fails.
        }

        @Override
        public void onAdImpression() {
          // Code to be executed when an impression is recorded
          // for an ad.
        }

        @Override
        public void onAdLoaded() {
          // Code to be executed when an ad finishes loading.
        }

        @Override
        public void onAdOpened() {
          // Code to be executed when an ad opens an overlay that
          // covers the screen.
        }
      });
}

Kotlin

adView?.adListener =
  object : AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
  }

Chacune des méthodes remplaçables dans AdListener correspond à un événement du cycle de vie d'une annonce.

Méthodes remplaçables
onAdClicked() La méthode onAdClicked() est appelée lorsqu'un clic est enregistré pour une annonce.
onAdClosed() La méthode onAdClosed() est appelée lorsqu'un utilisateur revient à l'application après avoir consulté l'URL de destination d'une annonce. Votre application peut l'utiliser pour reprendre les activités suspendues ou effectuer toute autre tâche nécessaire pour se préparer à l'interaction. Pour obtenir une implémentation des méthodes d'écouteur d'annonces dans l' application Android API Demo, consultez l'exemple AdMob AdListener.
onAdFailedToLoad() La méthode onAdFailedToLoad() est la seule à inclure un paramètre. Le paramètre d'erreur de type LoadAdError décrit l'erreur qui s'est produite. Pour en savoir plus, consultez la documentation Déboguer les erreurs de chargement d'annonces documentation.
onAdImpression() La méthode onAdImpression() est appelée lorsqu'une impression est enregistrée pour une annonce.
onAdLoaded() La méthode onAdLoaded() est exécutée lorsqu'une annonce a terminé de se charger. Si vous souhaitez retarder l'ajout de AdView à votre activité ou fragment jusqu'à ce que vous soyez sûr qu'une annonce sera chargée, par exemple, vous pouvez le faire ici.
onAdOpened() La méthode onAdOpened() est appelée lorsqu'une annonce ouvre une superposition qui couvre l'écran.

Accélération matérielle pour les annonces vidéo

Pour que les annonces vidéo s'affichent correctement dans vos vues de bannières, l'accélération matérielle doit être activée.

L'accélération matérielle est activée par défaut, mais certaines applications peuvent choisir de la désactiver. Si cela s'applique à votre application, nous vous recommandons d'activer l'accélération matérielle pour les classes Activity qui utilisent des annonces.

Activer l'accélération matérielle

Si l'accélération matérielle est activée de façon globale et que votre application n'adopte pas le comportement attendu, vous pouvez également la contrôler pour chaque activité. Pour activer ou désactiver l'accélération matérielle, vous pouvez utiliser l'android:hardwareAccelerated attribut pour les <application> et <activity> éléments dans votre AndroidManifest.xml. L'exemple suivant active l'accélération matérielle sur l'ensemble de l'application, mais la désactive pour une activité :

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Pour en savoir plus sur les options de contrôle de l'accélération matérielle, consultez le guide sur l' accélération matérielle. Notez que les vues d'annonces individuelles ne peuvent pas être activées pour l'accélération matérielle si l'activité est désactivée. L'accélération matérielle doit donc être activée pour l'activité elle-même.

Étapes suivantes

Bannières réductibles

Les bannières réductibles sont des bannières qui sont initialement présentées sous la forme d'une superposition plus grande, avec un bouton permettant de réduire la taille de l'annonce. Envisagez de l'utiliser pour optimiser davantage vos performances. Pour en savoir plus, consultez Bannières réductibles.

Bannières adaptatives intégrées

Les bannières adaptatives intégrées sont plus grandes et plus larges que les bannières adaptatives ancrées. Elles ont une hauteur variable et peuvent atteindre la hauteur de l'écran de l'appareil. Les bannières adaptatives intégrées sont recommandées plutôt que les bannières adaptatives ancrées pour les applications qui placent des bannières dans du contenu à faire défiler. Pour en savoir plus, consultez Bannières adaptatives intégrées .

Découvrir d'autres sujets