Google Mobile Ads SDK (Legacy) obsługuje stałe rozmiary reklam w sytuacjach, gdy banery adaptacyjne nie spełniają Twoich wymagań.
W tabeli poniżej podano standardowe rozmiary banerów.
| Rozmiar w dp (szer. x wys.) | Opis | Dostępność | Stała AdSize |
|---|---|---|---|
| 320 x 50 | Baner | Telefony i tablety | BANNER |
| 320 x 100 | Duży baner | Telefony i tablety | LARGE_BANNER |
| 300 x 250 | Średni prostokąt IAB | Telefony i tablety | MEDIUM_RECTANGLE |
| 468 x 60 | Pełnowymiarowy baner IAB | Tablety | FULL_BANNER |
| 728 x 90 | Długi baner IAB | Tablety | LEADERBOARD |
Rozmiar kontenera, w którym umieszczasz reklamę, musi być co najmniej taki sam jak rozmiar banera. Wypełnienie zmniejsza rozmiar kontenera. Jeśli kontener nie może pomieścić banera reklamowego, reklama nie zostanie wyświetlona i zostanie zarejestrowane następujące ostrzeżenie:
W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.
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.
Dodawanie AdManagerAdView do układu
Zamiast tworzyć AdManagerAdView programowo, dodaj AdManagerAdView do układu XML dla Activity lub Fragment, w którym chcesz go wyświetlać. Oto przykład:
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner_ad_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="/21775744923/example/fixed-size-banner" />
Pamiętaj o tych wymaganych atrybutach:
ads:adSize: ustaw rozmiar reklamy, którego chcesz użyć. Jeśli nie chcesz używać standardowego rozmiaru zdefiniowanego przez stałą, możesz ustawić rozmiar niestandardowy. Przykład:ads:adSize="320x50"ads:adUnitId: ustaw tę wartość na jednostkę reklamową w aplikacji, w której mają się wyświetlać reklamy. Jeśli wyświetlasz banery reklamowe w różnych aktywnościach, każda z nich będzie wymagać jednostki reklamowej.
Niestandardowy rozmiar reklamy
Jeśli masz w usłudze Ad Manager elementy zamówienia z rezerwacji kierowane na rozmiar niestandardowy, możesz utworzyć element AdSize o niestandardowej szerokości i wysokości, który pasuje do elementu zamówienia.
Java
AdSize customAdSize = new AdSize(250, 250);
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(customAdSize);
Kotlin
val customAdSize = AdSize(250, 250)
val adView = AdManagerAdView(this)
adView.setAdSizes(customAdSize)
Reklama w kilku rozmiarach
Jeśli chcesz kierować elementy zamówienia o różnych rozmiarach reklam w ramach tego samego żądania reklamy, AdManagerAdView umożliwia ustawienie wielu rozmiarów reklam naraz.
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));
Kotlin
val adView = AdManagerAdView(this)
adView.setAdSizes(AdSize.BANNER, AdSize(120, 20), AdSize(250, 250))
Wartość AdManagerAdView jest domyślnie ustawiana na pierwszy rozmiar reklamy. Po wczytaniu reklamy rozmiar AdManagerAdView zmienia się na rozmiar wczytanej reklamy. Układ powinien automatycznie dostosowywać się do nowego rozmiaru.
Możesz też określić wiele rozmiarów reklam, używając atrybutu ads:adSizes w pliku układu XML:
<com.google.android.gms.ads.admanager.AdManagerAdView
android:id="@+id/multiple_ad_sizes_view"
android:layout_width="wrap_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSizes="BANNER,120x20,250x250"
ads:adUnitId="AD_UNIT_ID" />