Zwijane banery reklamowe

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 są 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, który ma być widoczny dla użytkowników w zwykłym (zwiniętym) stanie banera. W żądaniu reklamy uwzględnij parametr dodatkowy z kluczem collapsible i wartością odpowiadającą miejscu docelowemu reklamy.

Miejsce docelowe zwijane określa, jak rozwinięty obszar jest zakotwiczony w banerze reklamowym.

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 zwijaną nakładkę.

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 podczas odświeżania reklam

W przypadku aplikacji, które konfigurują automatyczne odświeżanie banerów reklamowych w interfejsie internetowym AdMob, 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żaniu 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 przypadku żądań dotyczących banerów zwijanych mogą być zwracane banery reklamowe, które nie są zwijane. Aby sprawdzić, czy ostatni 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 banery reklamowe, które nie są zwijane.