<br />

The Google Mobile Ads SDK (Legacy) 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.

Set an ad size smaller than or equal to the device screen size.
To determine the maximum screen size, use the
[`Resources.getDisplayMetrics`](https://developer.android.com/reference/android/content/res/Resources#getDisplayMetrics())
method. The `AdSize` object dimensions use density-independent pixels (dp). When comparing, convert the
screen size from pixels to dp.
For details about size constraints, see
[Troubleshoot unfilled impressions in Ad Manager](https://support.google.com/admanager/answer/1739296).


## 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:

```xml
<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](https://support.google.com/admanager/answer/9405477) targeting a custom size, you can
create an `AdSize` with a custom width and height that matches your line item.

### Java

```java
AdSize customAdSize = new AdSize(250, 250);
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(customAdSize);
```

### Kotlin

```kotlin
val customAdSize = AdSize(250, 250)
val adView = AdManagerAdView(this)
adView.setAdSizes(customAdSize)
```

<br />

## 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

```java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER, new AdSize(120, 20), new AdSize(250, 250));
```

### Kotlin

```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:

```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" />
```

## Multiple ad sizes example

[Java](https://github.com/googleads/googleads-mobile-android-examples/blob/main/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/AdManagerMultipleAdSizesFragment.java)
[Kotlin](https://github.com/googleads/googleads-mobile-android-examples/blob/main/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/AdManagerMultipleAdSizesFragment.kt)

<br />