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. Wszelkie dopełnienia zmniejszają rozmiar kontenera. Jeśli kontener nie może pomieścić banera reklamowego, reklama nie zostanie wyświetlona i zostanie zarejestrowane to 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" />
Zwróć uwagę na te wymagane atrybuty:
ads:adSize: ustaw rozmiar reklamy, którego chcesz użyć. Jeśli nie chcesz używać standardowego rozmiaru zdefiniowanego przez stałą, możesz zamiast tego 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 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 jednocześnie.
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. Gdy reklama zostanie wczytana, rozmiar AdManagerAdView zmieni się na rozmiar wczytanej reklamy. Układ powinien automatycznie dostosowywać się do nowego rozmiaru.
Możesz też określić wiele rozmiarów reklam za pomocą 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" />