Używanie wbudowanych banerów adaptacyjnych w przypadku banerów przewijanych

Banery adaptacyjne umożliwiają określenie szerokości reklamy, aby wyznaczyć optymalny rozmiar reklamy na każdym urządzeniu. W przeciwieństwie do zakotwiczonych banerów adaptacyjnych banery adaptacyjne śródtekstowe są większe i wyższe oraz nie używają stałych wysokości. Wbudowane banery adaptacyjne mają zmienną wysokość. Te banery mogą zajmować cały ekran lub maksymalną wysokość, którą określisz.

Z tego przewodnika dowiesz się, jak tworzyć śródtekstowe banery adaptacyjne i ustawiać ich rozmiar.

Ilustracja poniżej przedstawia adaptacyjne banery śródtekstowe w treściach, które można przewijać:

Diagram pokazujący różnice między banerami adaptacyjnymi a wbudowanymi banerami adaptacyjnymi

Zanim zaczniesz

Zanim przejdziesz dalej, skonfiguruj reklamy banerowe.

Aby zobaczyć pełny przykład śródtekstowego banera adaptacyjnego, pobierz tę przykładową aplikację:

Wdrażanie wbudowanych banerów adaptacyjnych

Aby wdrożyć adaptacyjne banery wstawiane, ustaw rozmiar reklamy, utwórz żądanie reklamy i wczytaj reklamę.

Aby określić rozmiar wbudowanego banera adaptacyjnego, ustal jego szerokość. Najczęstsze podejścia to:

  • Wykorzystuje całą szerokość ekranu.
  • Szerokość layoutu nadrzędnego zawierającego reklamę.
  • Dostosowanie szerokości do bezpiecznych obszarów urządzenia.

Podczas tworzenia obiektu rozmiaru reklamy użyj obliczonej szerokości.

Wykonaj te czynności:

  1. Pobierz szerokość urządzenia lub ustaw szerokość:

    Kotlin

    private val adWidth: Int
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        return (adWidthPixels / density).toInt()
      }
    

    Java

    public int getAdWidth() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      return (int) (adWidthPixels / density);
    }
    
  2. Aby uzyskać obiekt rozmiaru reklamy adaptacyjnej wstawianej w tekście, użyj statycznej metody w klasie rozmiaru reklamy:

    Kotlin

    val adView = AdView(this@MainActivity)
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))

    Java

    final AdView adView = new AdView(MainActivity.this);
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));

Ustawianie układu banera adaptacyjnego w tekście

Aby wstępnie wczytać adaptacyjny baner śródtekstowy dla określonego układu, użyj tych metod:

Jeśli Twoja aplikacja obsługuje widok pionowy i poziomy, a chcesz wstępnie wczytać baner adaptacyjny w bieżącym układzie, użyj metody AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). Ta metoda wczytuje reklamę w bieżącym układzie.

Ograniczanie wysokości wbudowanego banera adaptacyjnego

Domyślnie wbudowane banery adaptacyjne utworzone bez wartości maxHeight mają maksymalną wysokość równą wysokości urządzenia. Aby ograniczyć wysokość adaptacyjnego banera śródtekstowego, użyj metody AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).