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

Banery adaptacyjne umożliwiają określenie szerokości reklamy, aby ustalić optymalny rozmiar reklamy na każdym urządzeniu. W przeciwieństwie do zakotwiczonych banerów adaptacyjnych banery adaptacyjne śródtekstowe są większe, wyższe i nie mają stałej wysokości. Wbudowane banery adaptacyjne mają zmienną wysokość. Banery te mogą zajmować cały ekran lub mieć maksymalną wysokość określoną przez Ciebie.

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

Ilustracja poniżej przedstawia adaptacyjne banery śródtekstowe w przewijanych treściach:

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

Zanim zaczniesz

Zanim przejdziesz dalej, skonfiguruj banery reklamowe.

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

Wdrażanie banerów adaptacyjnych w tekście

Aby wdrożyć banery adaptacyjne śródtekstowe, musisz ustawić rozmiar reklamy, utworzyć żądanie reklamy i wczytać reklamę.

Aby określić rozmiar śródtekstowego banera adaptacyjnego, ustal szerokość reklamy. Typowe podejścia obejmują:

  • Wykorzystanie pełnej szerokości 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()));

Jeśli chcesz zaktualizować lub utworzyć elementy zamówienia, aby używać banerów adaptacyjnych, przeczytaj artykuł Konfigurowanie elementów zamówienia na potrzeby banerów adaptacyjnych.

Ustawianie układu banera adaptacyjnego w tekście

Aby wstępnie wczytać wbudowany adaptacyjny baner reklamowy w określonym układzie, użyj tych metod:

Jeśli Twoja aplikacja obsługuje widok pionowy i poziomy, a chcesz wstępnie wczytać reklamę w postaci banera adaptacyjnego 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 banera adaptacyjnego w tekście

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