Używanie banerów zwijanych

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

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.