Combiner les demandes d'annonces natives avec affichage personnalisé 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
  • Suivez les instructions de la section Commencer.

Chargement de l'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 au 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 requêtes d'annonces pouvant générer une bannière ou une annonce native. Ajouter un OnAdManagerAdViewLoadedListener à AdLoader lors de sa création spécifie que les bannières doivent entrer en concurrence avec les annonces natives pour répondre à la demande.

Le code suivant montre comment créer un AdLoader pouvant charger une annonce native ou une bannière en 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, and so on.
      }
    })
    .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, and so on.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

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

Pour envoyer une demande d'annonce 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 AdViewOptions

La dernière fonction incluse dans la création de AdLoader ci-dessus 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 les rapports manuels sur les impressions 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().