Łączenie żądań reklamy natywnej renderowanej niestandardowo i banerów reklamowych

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

Wymagania wstępne

  • pakietu SDK do reklam mobilnych Google w wersji 11.0.0 lub nowszej.
  • Wykonaj czynności opisane w sekcji Pierwsze kroki.

Wczytuję reklamę

Reklamy natywne renderowane niestandardowo są wczytywane za pomocą klasy AdLoader, która ma własną klasę AdLoader.Builder, która może je dostosować podczas tworzenia. Dodając detektory do elementu AdLoader podczas jego tworzenia, aplikacja określa, jakie typy formatów reklam jest gotowa do odbierania. Następnie AdLoader żąda tylko tych typów.

Obiekt AdLoader możesz też skonfigurować tak, by wysyłał żądania reklamy, które mogą spowodować wyświetlenie banera reklamowego lub reklamy natywnej. Dodanie podczas tworzenia elementu OnAdManagerAdViewLoadedListener do elementu AdLoader określa, że banery reklamowe powinny konkurować z reklamami natywnymi, aby wypełnić żądanie.

Ten kod pokazuje, jak utworzyć obiekt AdLoader, który może wczytywać reklamę natywną lub baner reklamowy w pojedynczym żądaniu:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner")
    .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, "/6499/example/nativeandbanner")
    .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()

Powyższa metoda forAdManagerAdView() przygotowuje AdLoader do otrzymywania banerów reklamowych. Przy wywoływaniu funkcji forAdManagerAdView() obok elementu OnAdManagerAdViewLoadedListener należy podać listę prawidłowych rozmiarów reklam o zmiennej długości.

Aby wysłać prawidłowe żądanie reklamy, musisz podać co najmniej jeden prawidłowy rozmiar reklamy. W chwili wczytania banera reklamowego wywoływana jest metoda onAdManagerAdViewLoaded() określonego obiektu odbiornika.

Ustawianie AdViewOptions

Ostatnia funkcja uwzględniona przy tworzeniu obiektu AdLoader powyżej to kolejna metoda opcjonalna, 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()

Obiekt AdManagerAdViewOptions umożliwia wydawcom ustawianie określonych opcji banerów wczytywanych przez obiekt AdLoader, na przykład:

setManualImpressionsEnabled()
Umożliwia ręczne raportowanie wyświetleń w rezerwacjach w usłudze Google Ad Manager. Aplikacje korzystające z wyświetlenia ręcznego mogą samodzielnie określić, kiedy należy zarejestrować wyświetlenie, za pomocą wywołania AdManagerAdView.recordManualImpression().