Las vistas de banner son anuncios de texto o imágenes rectangulares 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 es la primera vez que utilizas la publicidad móvil, son un excelente punto de partida. Caso de éxito.
En esta guía, se muestra cómo integrar vistas de banners en una app de Unity. Además de instrucciones y fragmentos de código, también se incluye información para ajustar el tamaño de los banners de forma correcta y vínculos a recursos adicionales.
Requisitos previos
- Completar la guía de introducción
Siempre pruebe con anuncios de prueba
El siguiente código de muestra contiene un ID de unidad de anuncios que puedes usar para solicitar anuncios de prueba. Se configuró especialmente a fin de mostrar anuncios de prueba en lugar de anuncios en producción para cada solicitud, por lo que es seguro su uso.
Sin embargo, después de registrar una app en la interfaz web deAdMob y crear tus propios ID de unidades de anuncios para usar en la app, configura tu dispositivo como dispositivo de prueba de manera 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
En el código de muestra que aparece a continuación, se detalla cómo usar la vista de banner. En el ejemplo, crearás una instancia de una vista de banner, usarás un AdRequest
para cargar un anuncio en la vista de banner y, luego, extenderás sus capacidades 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 en una secuencia de comandos C# adjunta a un 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);
}
El constructor de una BannerView
tiene los siguientes parámetros:
adUnitId
: Es el ID de la unidad de anuncios desde la queBannerView
debe cargar anuncios.AdSize
: Es el tamaño de anuncio que desea utilizar. Consulta Tamaños de banners para obtener más detalles.AdPosition
: Es la posición en la que se deben colocar las vistas del banner. La enumeraciónAdPosition
enumera los valores de posición del anuncio válidos.
Observa cómo se usan las diferentes unidades de anuncios según la plataforma. Debes usar una unidad de anuncios de iOS para realizar solicitudes de anuncios en iOS y una unidad de Android para realizar solicitudes en Android.
(Opcional) Cree una vista de banner con una posición personalizada
Para obtener un mayor control sobre el lugar en que se coloca un BannerView
en la pantalla que el que ofrecen los valores de AdPosition
, usa el constructor que tenga las coordenadas x e y como parámetros:
// Create a 320x50 banner views 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" que se pasan al constructor, donde el origen es la parte superior izquierda de la pantalla.
(Opcional) Crea 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
Para cargar un anuncio, crea un AdRequest
y pásalo 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();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
Cómo escuchar eventos de vista de banner
Para personalizar el comportamiento de tu anuncio, puedes incluir una serie de eventos en su ciclo de vida, como la carga, la apertura o el cierre. Para escuchar estos eventos, registra un delegado:
/// <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.");
};
}
Destruir la vista del banner
Cuando termines de usar la vista de banner, asegúrate de llamar a Destroy()
para liberar recursos.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner view.");
_bannerView.Destroy();
_bannerView = null;
}
}
Listo. La app ya está lista para mostrar anuncios de banner.
Tamaños de banner
En la siguiente tabla, se indican 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 | Leaderboard de IAB | Tablets | LEADERBOARD |
Ancho proporcionado × Altura adaptable | Banner adaptable | Teléfonos y tablets | No disponible |
Ancho de pantalla x 32|50|90 | Banner inteligente | Teléfonos y tablets | SMART_BANNER |
Obtén más información sobre los banners adaptables, destinados a reemplazar los banners inteligentes. |
Recursos adicionales
- Ejemplo de HelloWorld: Una implementación mínima de todos los formatos de anuncios.