Annunci banner

Banner views are rectangular image or text ads that occupy a spot on screen. They stay on screen while users are interacting with the app, and can refresh automatically after a certain period of time. If you're new to mobile advertising, they're a great place to start. Case study.

This guide shows you how to integrate banner views into a Unity app. In addition to code snippets and instructions, it also includes information about sizing banners properly and links to additional resources.

Prerequisites

Esegui sempre test con annunci di prova

Il codice di esempio riportato di seguito contiene un ID unità pubblicitaria che puoi utilizzare per richiedere annunci di prova. È stato appositamente configurato per restituire annunci di prova anziché annunci di produzione per ogni richiesta, il che ne rende sicuro l'uso.

Tuttavia, dopo aver registrato un'app nell'AdMob interfaccia web e creato i tuoi ID unità pubblicitaria da utilizzare nell'app, configura esplicitamente il dispositivo come dispositivo di prova durante lo sviluppo.

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

Inizializzare l'SDK Google Mobile Ads

Prima di caricare gli annunci, fai in modo che la tua app inizializza l'SDK Mobile Ads chiamando MobileAds.Initialize(). Questa operazione deve essere eseguita una sola volta, idealmente al momento del lancio dell'app.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

Se utilizzi la mediazione, attendi che venga eseguito il callback prima di caricare gli annunci per assicurarti che tutti gli adattatori di mediazione vengano inizializzati.

BannerView example

The sample code below details how to use the banner view. In the example, you create an instance of a banner view, use an AdRequest to load an ad into the banner view, and then extend its capabilities by handling lifecycle events.

Create a banner view

The first step in using a banner view is to create an instance of a banner view in a C# script attached to a GameObject.


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
  private string _adUnitId = "unused";
#endif

  BannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

The constructor for a BannerView has the following parameters:

  • adUnitId: The ad unit ID from which the BannerView should load ads.
  • AdSize: The ad size you'd like to use. Consult Banner sizes for details.
  • AdPosition: The position where the banner views should be placed. The AdPosition enum lists the valid ad position values.

Note how different ad units are used, depending on the platform. You need to use an iOS ad unit for making ad requests on iOS and an Android ad unit for making requests on Android.

(Optional) Create a banner view with a custom position

For greater control over where a BannerView is placed on screen than what's offered by AdPosition values, use the constructor that has x- and y-coordinates as parameters:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);

The top-left corner of the BannerView is positioned at the x and y values passed to the constructor, where the origin is the top-left of the screen.

(Optional) Create a banner view with a custom size

In addition to using an AdSize constant, you can also specify a custom size for your ad:

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);

Load a banner ad

To load an ad, create an AdRequest and pass it to the LoadAd() method.

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

Listen to banner view events

To customize the behavior of your ad, you can hook into a number of events in the ad's lifecycle, such as loading, opening, or closing. To listen for these events, register a delegate:

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

Destroy the banner view

When finished using the banner view, be sure to call Destroy() to release resources.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

That's it! Your app is now ready to display banner ads.

The table below lists the standard banner sizes.

Size in dp (WxH) Description Availability AdSize constant
320x50 Standard 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
Provided width x Adaptive height Adaptive banner Phones and Tablets N/A
Screen width x 32|50|90 Smart banner Phones and Tablets SMART_BANNER
Learn more about Adaptive Banners, intended to replace Smart Banners.

Additional resources