Wystarczy wprowadzić kilka zmian w kodzie, aby połączyć reklamy natywne i banery reklamowe w żądaniach reklamy.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 11.0.0 lub nowszej.
- Zapoznaj się z przewodnikiem dla początkujących.
Wczytywanie reklamy
Reklamy natywne renderowane niestandardowo są wczytywane za pomocą klasy AdLoader
, która ma własną klasę AdLoader.Builder
umożliwiającą dostosowanie jej podczas tworzenia. Dodając do AdLoader
podczas tworzenia tej jednostki odbiorniki, aplikacja określa, jakie typy formatów reklam jest gotowa odbierać. AdLoader
wysyła żądanie tylko tych typów.
Obiekt AdLoader
można też skonfigurować tak, aby wysyłał żądania reklam, które mogą skutkować wyświetleniem banera reklamowego lub reklamy natywnej. Dodanie do OnAdManagerAdViewLoadedListener
podczas tworzenia określa, że banery reklamowe powinny konkurować z reklamami natywnymi o wypełnienie żądania.AdLoader
Poniższy kod pokazuje, jak utworzyć AdLoader
, który może wczytywać reklamy natywne lub banerowe w ramach jednego żądania:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .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, etc. } }) .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, "/21775744923/example/native-and-banner") .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, etc. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
Metoda forAdManagerAdView()
przygotowuje AdLoader
do wyświetlania banerów reklamowych.
Podczas wywoływania funkcji forAdManagerAdView()
należy podać listę o zmiennej długości zawierającą prawidłowe rozmiary reklam oraz parametr OnAdManagerAdViewLoadedListener
.
Aby wysłać prawidłowe żądanie reklamy, musisz podać co najmniej jeden prawidłowy rozmiar reklamy. Gdy baner zostanie wczytany, wywoływana jest metoda onAdManagerAdViewLoaded()
określonego obiektu detektora.
Ustawianie obiektu AdViewOptions
Ostatnią funkcją uwzględnianą podczas tworzenia AdLoader
jest kolejna opcjonalna metoda 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 AdLoader
, takich jak:
setManualImpressionsEnabled()
- Umożliwia ręczne raportowanie wyświetleń w przypadku rezerwacji w usłudze Google Ad Manager. Aplikacje korzystające z wyświetleń ręcznych mogą samodzielnie określać, kiedy należy zarejestrować wyświetlenie, wywołując funkcję
AdManagerAdView.recordManualImpression()
.