Documentation

​
​

Development

User Acquisition

Monetization

Industry

Unity Ads Monetization

SDK 4.19.0

Supported
​

Android API reference

Unity Ads Monetization

SDK 4.19.0

Supported
​

Android developer guides
​
​
Android developer guides
  • Android SDK integration guide
  • Unity Ads privacy guide
  • Unity Ads SDK troubleshooting guide
  • Android developer API references
  1. Unity Ads SDK Android developer monetization
  2. Unity Ads SDK integration guide for Android developers

Implement banner ads in Android

Implement banner ads in your Android app. Create banner view objects, display them in your layout, and use a listener to manage ad events.
Read time 2 minutes
Last updated 3 months ago

Banner ads require a specific type of dedicated banner placement.
You can place the banner view object into your view hierarchy, just like you would any other view. This allows you to customize the position of each banner instance, or display multiple banners.
Note
app-ads.txt is an IAB initiative to combat fraud and create transparency in the advertising ecosystem. Ensure that you set up the app-ads.txt file as described. Otherwise, banner demand might be significantly decreased.

Script implementation

The following script sample is an example implementation for displaying two banner ads on the screen, and buttons for testing them.
This example uses a single listener for multiple banner view objects. You can also have a different listener for each banner view object.

Implementing the MREC banner format

To display a medium rectangle (MREC) sized ad format in your app, ensure the proper dimensions are used, such as 300x250, 300x300, or 450x450. In the case of a 300x250 MREC banner ad specifically, replace this in the following example code:
new UnityBannerSize(320, 50)
With this adjusted dimension:
new UnityBannerSize(300, 250)

Banner ad example

Construct a
BannerShowListener
to handle impression, click, and show failure events, then pass it into
BannerConfiguration.Builder
along with the placement ID and a
BannerSize
, which supports fixed or adaptive dimensions for anchored and inline layouts. Optionally include mediation metadata and ad markup for bidding, then call
BannerAd.load()
with the built configuration and a
LoadListener
. On a successful load, retrieve the banner's
View
via
ad.getView()
to insert it into your layout.
BannerShowListener showListener = new BannerShowListener() { @Override public void onImpression(@NonNull BannerAd ad) { /* impression */ } @Override public void onClicked(@NonNull BannerAd ad) { /* clicked */ } @Override public void onFailedToShow(@NonNull BannerAd ad, @NonNull UnityAdsError error) { /* show failure */ } }; BannerConfiguration.Builder builder = new BannerConfiguration.Builder( placementId, new BannerSize( 320, 50 ), showListener ) .withMediationInfo( createMediationInfo() ); if ( AppLovinSdkUtils.isValidString( bidResponse ) ) { builder.withAdMarkup( bidResponse ); } BannerAd.load( builder.build(), new LoadListener<BannerAd>() { @Override public void onAdLoaded(@Nullable BannerAd ad, @Nullable UnityAdsError error) { if ( error == null ) { loadedBannerAd = ad; listener.onAdViewAdLoaded( ad.getView() ); // retrieve view via getView() } else { // failure } } } );
val showListener = object : BannerShowListener { override fun onImpression(ad: BannerAd) { /* impression */ } override fun onClicked(ad: BannerAd) { /* clicked */ } override fun onFailedToShow(ad: BannerAd, error: UnityAdsError) { /* show failure */ }}val builder = BannerConfiguration.Builder(placementId, BannerSize(320, 50), showListener) .withMediationInfo(createMediationInfo())if (AppLovinSdkUtils.isValidString(bidResponse)) { builder.withAdMarkup(bidResponse)}BannerAd.load(builder.build(), object : LoadListener<BannerAd> { override fun onAdLoaded(ad: BannerAd?, error: UnityAdsError?) { if (error == null) { loadedBannerAd = ad listener.onAdViewAdLoaded(ad.getView()) // retrieve view via getView() } else { // failure } }})
Next steps: Review the monetization strategy guide or test your implementation.

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.

  • On this page
    • Script implementation

      • Implementing the MREC banner format

    • Banner ad example


Report a problem with this page