Banery zwijane to banery reklamowe, które początkowo wyświetlają się jako większa nakładka z przyciskiem umożliwiającym zwinięcie ich do pierwotnie żądanego rozmiaru. Zwijane banery reklamowe mają na celu zwiększenie skuteczności reklam zakotwiczonych, które w innym przypadku byłyby mniejsze. Z tego przewodnika dowiesz się, jak włączyć zwijane banery reklamowe w przypadku istniejących miejsc docelowych banerów.

Wymagania wstępne
- Zapoznaj się z przewodnikiem dla początkujących dotyczącym banerów reklamowych.
Implementacja
Upewnij się, że widok banera jest zdefiniowany w rozmiarze, w jakim użytkownicy mają go widzieć w zwykłym (zwiniętym) stanie. Dołącz do żądania reklamy parametr dodatkowy z kluczem collapsible i wartością określającą miejsce docelowe reklamy.
Miejsce docelowe zwijania określa, jak rozwinięty obszar jest zakotwiczony do banera reklamowego.
Wartość Placement
|
Zachowanie | Przewidywany przypadek użycia |
|---|---|---|
top |
Górna krawędź rozwiniętej reklamy jest wyrównana do górnej krawędzi zwiniętej reklamy. | Reklama jest umieszczana u góry ekranu. |
bottom |
Dolna krawędź rozwiniętej reklamy jest wyrównana do dolnej krawędzi zwiniętej reklamy. | Reklama jest umieszczana u dołu ekranu. |
Jeśli wczytana reklama jest banerem zwijanym, po umieszczeniu w hierarchii widoków baner natychmiast wyświetla nakładkę zwijaną.
Kotlin
private fun loadBannerAd() {
// ...
// Create an extra parameter that aligns the bottom of the expanded ad to
// the bottom of the bannerView.
val extras = Bundle()
extras.putString("collapsible", "bottom")
val bannerAdRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize)
.setGoogleExtrasBundle(extras)
.build()
BannerAd.load(
bannerAdRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
// ...
}
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
// ...
}
},
)
}
Java
private void loadBannerAd() {
// ...
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
BannerAdRequest bannerAdRequest = new BannerAdRequest.Builder("AD_UNIT_ID", adSize)
.setGoogleExtrasBundle(extras)
.build();
BannerAd.load(
bannerAdRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
// ...
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// ...
}
});
}
Zachowanie odświeżania reklam
W przypadku aplikacji, które konfigurują automatyczne odświeżanie banerów reklamowych w interfejsie internetowym Ad Managera, gdy w przypadku miejsca docelowego banera zostanie wysłane żądanie dotyczące zwijanego banera reklamowego, kolejne odświeżenia reklamy nie będą żądać banerów zwijanych. Wynika to z tego, że wyświetlanie banera zwijanego przy każdym odświeżeniu może negatywnie wpłynąć na wrażenia użytkownika.
Jeśli chcesz wczytać kolejny zwijany baner reklamowy w dalszej części sesji, możesz wczytać reklamę ręcznie, używając w żądaniu parametru zwijania.
Sprawdzanie, czy wczytana reklama jest zwijana
Aby zmaksymalizować skuteczność, w odpowiedzi na żądania dotyczące zwijanych banerów reklamowych mogą być zwracane banery niezwiązane ze zwijaniem. Aby sprawdzić, czy ostatnio wczytany baner jest zwijany, wywołaj isCollapsible. Jeśli wczytywanie żądania nie powiedzie się, a poprzedni baner jest zwijany, interfejs API zwróci wartość true.
Kotlin
override fun onAdLoaded(ad: BannerAd) {
// ...
Log.i(
TAG,
"The last loaded banner is ${if (ad.isCollapsible()) "" else "not "}collapsible."
)
}
Java
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
// ...
Log.i(TAG, String.format("The last loaded banner is %scollapsible.",
ad.isCollapsible() ? "" : "not "));
}
Mediacja
Banery zwijane są dostępne tylko w przypadku źródeł ofert reklamowych Google. Reklamy wyświetlane za pomocą mediacji są wyświetlane jako zwykłe, niezwiązane ze zwijaniem banery reklamowe.