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

Charger une annonce

Pour effectuer une demande combinée d'annonces natives et de bannières :

  1. Transmettez à la fois le type NativeAdType.NATIVE et le type NativeAdType.BANNER sous forme de liste dans NativeAdRequest.

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

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

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 permet d'obtenir 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.
    }
  };
}