Łączenie żądań reklam natywnych i banerów reklamowych

Wystarczy wprowadzić kilka zmian w kodzie, aby połączyć reklamy natywne i banery reklamowe w żądaniach reklamy.

Wymagania wstępne

Wczytywanie reklamy

Aby wysłać połączone żądanie reklamy natywnej i banera:

  1. Przekaż typy NativeAdType.NATIVE i NativeAdType.BANNER jako listę w NativeAdRequest.

  2. Ustaw co najmniej 1 rozmiar reklamy banerowej.

W tym przykładzie wczytywana jest reklama łączona (natywna i banerowa):

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());

Pobierz reklamę z obiektu NativeAdLoaderCallback.

W zależności od tego, który typ reklamy został wczytany, obiekt NativeAdLoaderCallback wywołuje metodę onNativeAdLoaded() w przypadku reklam natywnych i metodę onBannerAdLoaded() w przypadku reklam banerowych.

Poniższy przykład pobiera banery reklamowe lub reklamy natywne:

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.
    }
  };
}