Banery adaptacyjne pozwalają określić szerokość 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. Banery adaptacyjne śródtekstowe mają zmienną wysokość. Te banery mogą zajmować cały ekran lub maksymalną wysokość, którą określisz.
Z tego przewodnika dowiesz się, jak tworzyć banery adaptacyjne śródtekstowe i ustawiać ich rozmiar.
Na ilustracji poniżej widać banery adaptacyjne śródtekstowe w treści przewijanej:
Zanim zaczniesz
Zanim przejdziesz dalej, upewnij się, że skonfigurujesz banery reklamowe.
Aby zobaczyć pełny przykład banera adaptacyjnego śródtekstowego, pobierz tę przykładową aplikację:
Implementowanie banerów adaptacyjnych śródtekstowych
Aby zaimplementować banery adaptacyjne śródtekstowe, ustaw rozmiar reklamy, utwórz żądanie reklamy i wczytaj reklamę.
Aby określić rozmiar banera adaptacyjnego śródtekstowego, ustal szerokość reklamy. Najczęstsze podejścia to:
- użycie pełnej szerokości ekranu;
- użycie szerokości układu nadrzędnego zawierającego reklamę;
- dostosowanie szerokości do bezpiecznych obszarów urządzenia.
Podczas tworzenia obiektu rozmiaru reklamy użyj tej 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 śródtekstowej, 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()));
Ustawianie układu banera adaptacyjnego śródtekstowego
Aby wstępnie wczytać baner adaptacyjny śródtekstowy dla określonego układu, 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 oraz 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 śródtekstowego
Domyślnie banery adaptacyjne śródtekstowe utworzone bez wartości maxHeight mają maksymalną wysokość równą wysokości urządzenia. Aby ograniczyć wysokość banera adaptacyjnego śródtekstowego, użyj
AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
metody.