Banner & MREC ads

Banners from some networks may have heights that exceed 50 points now, since adaptive banners are the default in the latest AppLovin MAX Unity Plugin versions. The height will never be more than 15% of the device’s current orientation height, and never less than 50 points. See Adaptive banners below for details.

Banner and MREC ads are rectangular ad formats that occupy part of an app’s layout—often at the top or bottom of the screen or inline in scrollable content. They remain visible as users interact with the app, which allows uninterrupted gameplay or use, and can refresh automatically after a set period.

The following sections show you how to load, show, and hide a banner or MREC ad.

Loading a banner or MREC

To load a banner or MREC, use code like the following with your ad unit ID and desired ad view position:

#if UNITY_IOS
string bannerAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account
#else // UNITY_ANDROID
string bannerAdUnitId = "«Android-ad-unit-ID»"; // Retrieve the ID from your account
#endif

public void InitializeBannerAds()
{
  // Banners are automatically sized to 320×50 on phones and 728×90 on tablets
  // You may call the utility method MaxSdkUtils.isTablet() to help with view sizing adjustments
  var adViewConfiguration = new MaxSdk.AdViewConfiguration(MaxSdk.AdViewPosition.BottomCenter);
  MaxSdk.CreateBanner(bannerAdUnitId, adViewConfiguration);

  // Set background color for banners to be fully functional
  MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «banner-background-color»);

  MaxSdkCallbacks.Banner.OnAdLoadedEvent      += OnBannerAdLoadedEvent;
  MaxSdkCallbacks.Banner.OnAdLoadFailedEvent  += OnBannerAdLoadFailedEvent;
  MaxSdkCallbacks.Banner.OnAdClickedEvent     += OnBannerAdClickedEvent;
  MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnBannerAdRevenuePaidEvent;
  MaxSdkCallbacks.Banner.OnAdExpandedEvent    += OnBannerAdExpandedEvent;
  MaxSdkCallbacks.Banner.OnAdCollapsedEvent   += OnBannerAdCollapsedEvent;
}

private void OnBannerAdLoadedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}

private void OnBannerAdLoadFailedEvent(string adUnitId, MaxSdk.ErrorInfo errorInfo) {}

private void OnBannerAdClickedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}

private void OnBannerAdRevenuePaidEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}

private void OnBannerAdExpandedEvent(string adUnitId, MaxSdk.AdInfo adInfo)  {}

private void OnBannerAdCollapsedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}

Set your banner background color to a #-prefixed hexadecimal RGB string, for example '#000000' (black) or '#fff200' (yellow).

The complete list of position options are:

  • TopLeft
  • TopCenter
  • TopRight
  • Centered
  • CenterLeft
  • CenterRight
  • BottomLeft
  • BottomCenter
  • BottomRight

You can also position an ad at a specific (x, y) coordinate on the screen by calling MaxSdk.CreateBanner(«ad-unit-ID», new MaxSdk.AdViewConfiguration(«x», «y»)); or MaxSdk.CreateMRec(«ad-unit-ID», new MaxSdk.AdViewConfiguration(«x», «y»));. This sets the position of the top-left corner of the ad. The coordinate system represents the safe area bounds of the screen. Make sure to account for the width and height of the ad when you set these coordinates. The position (0, 0) is TopLeft; the bottom-right corner of the safe area is (safeAreaWidth, safeAreaHeight). Note that Unity might have a different screen size or safe area size than Android or iOS. To convert between Unity’s screen size and the sizes used in Android or iOS, use code like the following:

var density = MaxSdkUtils.GetScreenDensity();
var dp = «pixels» / density;

Showing a banner or MREC

To show a banner or MREC, make the following call:

MaxSdk.ShowBanner(«ad-unit-ID»);

Hiding a banner or MREC

To hide a banner or MREC, make the following call:

MaxSdk.HideBanner(«ad-unit-ID»);

Destroying banners or MRECs

You may no longer need an ad instance (for example, if the user purchased ad removal). If so, call the DestroyBanner() or DestroyMRec() method to free resources. Do not call DestroyBanner() or DestroyMRec() if you use multiple ad instances with the same Ad Unit ID.

MaxSdk.DestroyBanner(«ad-unit-ID»);

Getting banner position

To get the banner’s position and size, call GetBannerLayout(). This uses the same Unity coordinate system as explained in Loading a banner or MREC.

Rect bannerLayout = MaxSdk.GetBannerLayout(«ad-unit-ID»);

Setting banner width

To manually set a banner’s width, call SetBannerWidth().

MaxSdk.SetBannerWidth(«ad-unit-ID», «width»);

Set the banner width to a size larger than the minimum value (320 on phones, 728 on tablets). The advertiser may consider banners under this width to be not-viewable, which affects your revenue. If you set the banner width below the minimum, you will see an error message in your logs. For example:

[AppLovinSdk] [MAUnityAdManager] The provided width: 300.000000 is smaller than the minimum required width: 320.000000 for ad format: [MAAdFormat: BANNER]. Please set the width higher than the minimum required.

Adaptive banners

The MAX Unity plugin enables adaptive banners automatically on Liftoff Monetize, Google bidding and Google AdMob, Google Ad Manager, Pangle, and Yandex. This helps you increase revenue. AppLovin recommends that you run tests to ensure that adaptive banners create the best experience for your users. Follow the instructions below if you want to disable adaptive banners.

Google recommends that developers include a 50 px padding between the banner placement and the app content. This makes accidental clicks less likely. Refer to Google’s “About Confirmed Click” policy for more information and best practices.

Adaptive banners are responsive banners with heights that derive from the device type and width of the banner. Banners from ad networks that support adaptive banners are adaptive by default. If you want to disable adaptive banners, set the banner extra parameter adaptive_banner to false when you create the banner, as in the following example:

#if UNITY_IOS
string bannerAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account
#else // UNITY_ANDROID
string bannerAdUnitId = "«android-ad-unit-ID»"; // Retrieve the ID from your account
#endif

public void InitializeBannerAds()
{
  var adViewConfiguration = new MaxSdk.AdViewConfiguration(CurrentBannerPosition)
  {
    IsAdaptive = false
  };
  MaxSdk.CreateBanner(bannerAdUnitId, adViewConfiguration);

  // Set background or background color for banners to be fully functional
  MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «background-color»);
}

Call MaxSdkUtils.GetAdaptiveBannerHeight() to get the banner height, and then adjust your content accordingly.

TopCenter and BottomCenter banner positions span the full width of the screen. For other positions, the width is 320 (on phones) or 728 (on tablets). The MaxSdkUtils.GetAdaptiveBannerHeight(width) function takes a width parameter and returns the appropriate adaptive height for the given banner width.

Stopping and starting auto-refresh

You may want to stop auto-refresh for an ad, for instance if you want to manually refresh banner ads. To stop auto-refresh for a banner or MREC ad, use the following code:

MaxSdk.StopBannerAutoRefresh(«ad-unit-ID»);

Start auto-refresh for a banner or MREC ad with the following code:

MaxSdk.StartBannerAutoRefresh(«ad-unit-ID»);

Manually refresh the contents with the following code. You must stop auto-refresh before you call LoadBanner() or LoadMRec().

MaxSdk.LoadBanner(«ad-unit-ID»);

Was this article helpful?
Was this article helpful?
search