Anuncios en forma de banner

Los anuncios de banner son anuncios rectangulares de imagen o texto que ocupan un lugar en la pantalla. Permanecen en la pantalla mientras los usuarios interactúan con la app y se pueden actualizar automáticamente después de un período determinado. Si la publicidad para dispositivos móviles es la primera vez que los usas, es un excelente punto de partida. Caso de éxito.

En esta guía, se muestra cómo integrar anuncios de banner desde AdMob en una app de Unity. Además de instrucciones y fragmentos de código, también se incluye información para dimensionar correctamente banners y vínculos a recursos adicionales.

Requisitos previos

Probar siempre con anuncios de prueba

El siguiente código de muestra contiene un ID de bloque de anuncios que puedes usar para solicitar anuncios de prueba. Se configuró en especial para mostrar anuncios de prueba en lugar de anuncios de producción para cada solicitud, por lo que es seguro utilizarlo.

Sin embargo, una vez que registres una app en la IU de AdMob y crees tus propios ID de bloque de anuncios para usarlos en la app, deberás configurar tu dispositivo como dispositivo de prueba de forma explícita durante el desarrollo.

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

Inicializar el SDK de Mobile Ads

Antes de cargar anuncios, haz que tu app inicialice el SDK de anuncios para dispositivos móviles llamando a MobileAds.Initialize(). Esto se debe hacer solo una vez, idealmente cuando se inicia la 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.
        });
    }
}

Si usas mediación, espera hasta que se produzca la devolución de llamada antes de cargar los anuncios, ya que esto garantizará que se inicialicen todos los adaptadores de mediación.

Ejemplo de BannerView

El siguiente código de muestra detalla cómo usar la vista de banner. En el ejemplo, se crea una instancia de una vista de banner, se usa un AdRequest para cargar un anuncio en la vista de banner y, luego, se extiende la funcionalidad mediante el control de eventos de ciclo de vida.

Cómo crear una vista de banner

El primer paso para usar una vista de banner es crear una instancia de una vista de banner adjunta a una GameObject en una secuencia de comandos de C#.

  // 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 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);
  }

El constructor de un elemento BannerView tiene los siguientes parámetros:

  • adUnitId: Es el ID de la unidad de anuncios de AdMob desde el que BannerView debe cargar los anuncios.
  • AdSize: El tamaño del anuncio de AdMob que deseas usar (consulta los tamaños de banner para obtener más detalles).
  • AdPosition: Es la posición en la que se debe colocar el anuncio de banner. La enumeración AdPosition enumera los valores válidos de posición del anuncio.

Observe cómo se usan las diferentes unidades de anuncios, según la plataforma. Si deseas realizar solicitudes de anuncios en iOS y una unidad de anuncios de Android a fin de realizar solicitudes en Android, debes usar una unidad de anuncios para iOS.

(Opcional) Cree una vista de banner con una posición personalizada

Para controlar mejor dónde se coloca un objeto BannerView en la pantalla que lo que ofrecen los valores de AdPosition, usa el BannerViewconstructor que tiene coordenadas x e y como parámetros:

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

La esquina superior izquierda de BannerView se posiciona en los valores x e y pasados al constructor, donde el origen es la parte superior izquierda de la pantalla.

(Opcional) Cree una vista de banner con un tamaño personalizado

Además de usar una constante AdSize, también puedes especificar un tamaño personalizado para tu anuncio:

// 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);

Carga un anuncio de banner

El segundo paso para usar la vista de banner es crear un AdRequest y pasarlo al método LoadAd().

/// <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();
    adRequest.Keywords.Add("unity-admob-sample");

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

Escucha eventos de vista de banner

Para personalizar el comportamiento de tu anuncio, puedes conectarte a una serie de eventos en el ciclo de vida del anuncio: cargar, abrir, cerrar, etcétera. Para escuchar estos eventos, registra un delegado:

/// <summary>
/// listen to events the banner 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.");
    };
}

Destruye la vista del banner

Cuando termines de usar la vista del banner, asegúrate de llamar a Destroy() para liberar recursos.

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

Listo. Tu app ya está lista para mostrar anuncios de banner desde AdMob.

En la siguiente tabla, se enumeran los tamaños de banner estándar.

Tamaño en dp (ancho x alto) Descripción Disponibilidad Constante de AdSize
320 x 50 Banner estándar Teléfonos y tablets BANNER
320 x 100 Banner grande Teléfonos y tablets LARGE_BANNER
300 x 250 Rectángulo mediano de IAB Teléfonos y tablets MEDIUM_RECTANGLE
468 x 60 Banner de tamaño completo de IAB Tablets FULL_BANNER
728 x 90 Tabla de clasificación de IAB Tablets LEADERBOARD
Ancho proporcionado × Altura adaptable Banner adaptable Teléfonos y tablets N/A
Ancho de pantalla x 32|50|90 Banner inteligente Teléfonos y tablets SMART_BANNER
Obtenga más información sobre los banners adaptables, que tienen como objetivo reemplazar los banners inteligentes.

Recursos adicionales

Ejemplos

Historias de éxito