Zwijane banery reklamowe

Zwijane banery reklamowe to banery, 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ą zwiększać skuteczność reklam zakotwiczonych, które w przeciwnym razie byłyby mniejsze. Z tego przewodnika dowiesz się, jak włączyć zwijane banery reklamowe w przypadku dotychczasowych 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. Dołącz do żądania reklamy parametr dodatkowy z kluczem collapsible i miejscem docelowym reklamy jako wartością.

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

Wartość Placement Zachowanie Zamierzony przypadek użycia
top Góra rozwiniętej reklamy jest wyrównana z górą zwiniętej reklamy. Reklama jest umieszczona u góry ekranu.
bottom Dół rozwiniętej reklamy jest wyrównany z dołem zwiniętej reklamy. Reklama jest umieszczona u dołu ekranu.

Jeśli wczytana reklama jest banerem zwijanym, po umieszczeniu w hierarchii widoków od razu wyświetla się na niej zwijana nakładka:

Kotlin

private fun loadCollapsibleBannerAd(adView: AdView, activity: Activity) {
  val adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(activity, 360)

  // Create an extra parameter that aligns the bottom of the expanded ad to
  // the bottom of the adView.
  val extras = Bundle()
  extras.putString("collapsible", "bottom")

  val adRequest =
    BannerAdRequest.Builder(AD_UNIT_ID, adSize).setGoogleExtrasBundle(extras).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.i(
          TAG,
          "The last loaded banner is ${if (ad.isCollapsible()) "" else "not "}collapsible.",
        )
      }


      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, "Banner ad failed to load: $adError")
      }
    },
  )
}

Java

private void loadCollapsibleBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  AdSize adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(activity, 360);

  // Create an extra parameter that aligns the bottom of the expanded ad to
  // the bottom of the adView.
  Bundle extras = new Bundle();
  extras.putString("collapsible", "bottom");

  BannerAdRequest adRequest =
      new BannerAdRequest.Builder(AD_UNIT_ID, adSize).setGoogleExtrasBundle(extras).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          Log.i(
              TAG,
              String.format(
                  "The last loaded banner is %scollapsible.", ad.isCollapsible() ? "" : "not "));
        }


        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          Log.d(TAG, "Banner ad failed to load: " + adError);
        }
      });
}

Zastąp AD_UNIT_ID identyfikatorem jednostki reklamowej.

Sposób odświeżania reklam

W przypadku aplikacji, które mają skonfigurowane automatyczne odświeżanie banerów reklamowych w interfejsie internetowym AdMob, po wysłaniu żądania dotyczącego zwijanego banera reklamowego do boksu banera 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

W przypadku żądań zwijanych banerów reklamowych mogą być zwracane niezwijane banery reklamowe, aby zmaksymalizować skuteczność. Jeśli nie uda się wczytać żądania, a poprzedni baner jest zwijany, interfejs API zwraca wartość true. Aby sprawdzić, czy ostatni wczytany baner jest zwijany, wywołaj metodę isCollapsible:

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

Zwijane banery reklamowe są dostępne tylko w przypadku ofert reklamowych Google. Reklamy wyświetlane za pomocą zapośredniczenia są widoczne jako zwykłe, niezwijane banery reklamowe.