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

Charger une annonce

Pour effectuer une demande combinée d'annonces natives et de bannières, procédez comme suit :

  1. Transmettez les types NativeAdType.NATIVE et NativeAdType.BANNER sous forme de liste dans NativeAdRequest.

  2. Définissez au moins une taille de bannière.

Les exemples suivants chargent une annonce combinée native et une bannière :

Kotlin

val adRequest =
  NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
    // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
    .setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
    .build()

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())

Java

NativeAdRequest adRequest =
    new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
        // Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
        .setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
        .build();

// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());

Obtenir l'annonce à partir de l'objet NativeAdLoaderCallback

Selon le type d'annonce qui a été chargé, l'objet NativeAdLoaderCallback appelle la méthode onNativeAdLoaded() pour les annonces natives et la méthode onBannerAdLoaded() pour les bannières.

L'exemple suivant obtient des bannières ou des annonces natives :

Kotlin

private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
  return object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Called when a native ad has loaded.
    }

    override fun onBannerAdLoaded(bannerAd: BannerAd) {
      // Called when a banner ad has loaded.
    }
  }
}

Java

private NativeAdLoaderCallback getNativeAdLoaderCallback() {
  return new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Called when a native ad has loaded.
    }

    @Override
    public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
      // Called when a banner ad has loaded.
    }
  };
}