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 i wyższe oraz nie mają stałej wysokości. Wbudowane banery adaptacyjne mają zmienną wysokość. Banery te mogą wypełniać cały ekran lub mieć określoną przez Ciebie maksymalną wysokość.

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

Ilustracja poniżej przedstawia śródtekstowe banery adaptacyjne w przewijanej treści:

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

Zanim zaczniesz

Zanim przejdziesz dalej, upewnij się, że masz skonfigurowane banery reklamowe.

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

Wdrażanie wbudowanych banerów adaptacyjnych

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

Aby określić rozmiar adaptacyjnego banera śródtekstowego, określ szerokość reklamy. Oto kilka typowych metod:

  • Używanie pełnej szerokości ekranu.
  • Używanie szerokości layoutu nadrzędnego zawierającego reklamę.
  • Dostosowywanie szerokości do bezpiecznych obszarów urządzenia.

Podczas tworzenia obiektu rozmiaru reklamy użyj tej 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 adaptacyjnej reklamy inline, użyj metody statycznej 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()));

Ustaw rozmiar reklamy mniejszy niż rozmiar ekranu urządzenia lub mu równy. Aby określić maksymalny rozmiar ekranu, użyj metody Resources.getDisplayMetrics. Wymiary obiektu AdSize są wyrażone w pikselach niezależnych od gęstości (dp). Podczas porównywania przekonwertuj rozmiar ekranu z pikseli na dp. Szczegółowe informacje o ograniczeniach rozmiaru znajdziesz w artykule Rozwiązywanie problemów z niewypełnionymi wyświetleniami w usłudze Ad Manager.

Jeśli musisz zaktualizować lub utworzyć elementy zamówienia, aby używać banerów adaptacyjnych, zapoznaj się z artykułem 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 dla konkretnego układu, użyj tych metod:

Jeśli 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 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ść wbudowanego banera adaptacyjnego, użyj metody AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).