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:
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:
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); }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:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
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).