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

En apportant quelques modifications à votre code, vous pouvez combiner des annonces natives et des 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 à rendu personnalisé sont chargées à l'aide de la classe AdLoader, qui possède sa propre AdLoader.Builder classe 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 à AdLoader lors de sa création spécifie 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 une annonce native ou une bannière dans une seule demande :

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 AdLoader à recevoir des bannières. 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 effectuer une demande d'annonce valide, vous devez spécifier au moins une taille d'annonce valide. Lorsqu'une bannière a été chargée, la méthode onAdManagerAdViewLoaded() de l'objet é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, telles que :

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