Combiner les demandes d'annonces natives et de bannières

En apportant quelques modifications à votre code, vous pouvez combiner les annonces natives et les bannières dans vos demandes d'annonces.

Prérequis

  • Version 11.0.0 ou ultérieure du SDK Google Mobile Ads.

Charger une annonce

Les annonces natives affichées de manière personnalisée sont chargées à l'aide de la classe AdLoader, qui possède sa propre classe AdLoader.Builder pour la personnaliser lors de la création. En ajoutant des écouteurs à AdLoader lors de sa création, une application spécifie les types de formats d'annonces qu'elle est prête à recevoir. AdLoader ne demande alors que ces types.

L'objet AdLoader peut également être configuré pour effectuer des demandes d'annonces pouvant générer une bannière ou une annonce native. L'ajout d'un OnAdManagerAdViewLoadedListener au AdLoader lors de sa création indique que les bannières doivent être en concurrence avec les annonces natives pour répondre à la demande.

Le code suivant montre comment créer un AdLoader qui peut charger un format natif ou une bannière dans une seule requête :

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, etc.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, etc.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

La méthode forAdManagerAdView() prépare le AdLoader à recevoir des bannières publicitaires. Une liste de tailles d'annonces valides de longueur variable doit être spécifiée avec un OnAdManagerAdViewLoadedListener lors de l'appel de forAdManagerAdView().

Pour qu'une demande d'annonce soit valide, vous devez spécifier au moins une taille d'annonce valide. Lorsqu'une bannière publicitaire a été chargée, la méthode onAdManagerAdViewLoaded() de l'objet d'écouteur spécifié est appelée.

Définir l'objet AdViewOptions

La dernière fonction incluse dans la création de AdLoader est une autre méthode facultative, withAdManagerAdViewOptions() :

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

L'objet AdManagerAdViewOptions permet aux éditeurs de définir des options spécifiques pour les bannières chargées par AdLoader, par exemple :

setManualImpressionsEnabled()
Active le reporting manuel des impressions pour les réservations Google Ad Manager. Les applications utilisant les impressions manuelles peuvent déterminer elles-mêmes quand une impression doit être enregistrée, en appelant AdManagerAdView.recordManualImpression().