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