The Google Mobile Ads SDK supports fixed ad sizes for situations where adaptive banners ads don't meet your needs.
The following table lists the standard banner sizes.
Size in dp (WxH) | Description | Availability | AdSize constant |
---|---|---|---|
320x50 | Banner | Phones and tablets | BANNER |
320x100 | Large banner | Phones and tablets | LARGE_BANNER |
300x250 | IAB medium rectangle | Phones and tablets | MEDIUM_RECTANGLE |
468x60 | IAB full-size banner | Tablets | FULL_BANNER |
728x90 | IAB leaderboard | Tablets | LEADERBOARD |
The size of the container in which you place your ad must be at least as big as the banner. Any padding effectively decreases the size of your container. If the container cannot fit the banner ad, the ad isn't shown and the following warning is logged:
W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.
Add AdManagerAdView to the layout
Alternative to creating the AdManagerAdView
programmatically, add the AdManagerAdView
to the XML layout
for the Activity
or Fragment
in which you'd like to display
it. Here's an example:
<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" />
Note the following required attributes:
ads:adSize
: Set this to the ad size you'd like to use. If you don't want to use the standard size defined by the constant, you can set a custom size instead. Example:ads:adSize="320x50"
.ads:adUnitId
: Set this to the ad unit in your app where ads are to be displayed. If you show banner ads in different activities, each would require an ad unit.
Custom ad size
If you have Ad Manager reservation line items targeting a custom size, you can
create an AdSize
with a custom width and height that matches your line item.
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)
Multiple ad sizes
If you want to target line items of multiple ad sizes in the same ad request,
AdManagerAdView
lets you set multiple ad sizes at once.
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))
The AdManagerAdView
defaults to the first ad size. Once the ad loads, the
AdManagerAdView
size changes to the loaded ad size. Your layout should
be able to automatically adapt to the new size.
You can also specify multiple ad sizes using the ads:adSizes
attribute in your
XML layout file:
<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" />
Multiple ad sizes example