Primero pasos
Los anuncios nativos superpuestos se presentan a los usuarios a través de componentes de IU nativos de la plataforma. Estos anuncios se presentan como una superposición sobre la aplicación. Este funcionamiento es similar al de los anuncios de banner, pero con la capacidad de personalizar el aspecto de los anuncios.
Los anuncios nativos superpuestos admiten la mediación y los anuncios de video. Esta es una ventaja clave que tienen los anuncios superpuestos nativos sobre los anuncios nativos.
En esta guía, te mostramos cómo implementar anuncios superpuestos nativos en una app de Unity, así como algunos aspectos importantes que debes tener en cuenta durante el proceso.
Requisitos previos
- Completar la Guía de introducción
- Complemento de Unity 9.0.0 o posterior
Haz siempre una comprobación 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 para devolver anuncios de prueba en lugar de anuncios de producción para cada solicitud, lo que hace que sea seguro de usar.
Sin embargo, una vez que registres una app en la interfaz web de AdMob y crees IDs de tus propias unidades de anuncios para usarlos en tu app, configura tu dispositivo como dispositivo de prueba de forma explícita durante el desarrollo.
Android
ca-app-pub-3940256099942544/2247696110
iOS
ca-app-pub-3940256099942544/3986624511
Carga el anuncio nativo superpuesto
Para cargar un anuncio nativo superpuesto, se usa el método estático Load()
en la clase NativeOverlayAd
. El objeto NativeOverlayAd
cargado se incluye como parámetro en el controlador de finalización.
El siguiente código usa NativeOverlayAd
para cargar un anuncio:
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
private string _adUnitId = "unused";
#endif
private NativeOverlayAd _nativeOverlayAd;
/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
// Clean up the old ad before loading a new one.
if (_nativeOverlayAd != null)
{
DestroyAd();
}
Debug.Log("Loading native overlay ad.");
// Create a request used to load the ad.
var adRequest = new AdRequest();
// Optional: Define native ad options.
var options = new NativeAdOptions
{
AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
MediaAspectRatio = NativeMediaAspectRatio.Any,
};
// Send the request to load the ad.
NativeOverlayAd.Load(_adUnitId, adRequest, options,
(NativeOverlayAd ad, LoadAdError error) =>
{
if (error != null)
{
Debug.LogError("Native Overlay ad failed to load an ad " +
" with error: " + error);
return;
}
// The ad should always be non-null if the error is null, but
// double-check to avoid a crash.
if (ad == null)
{
Debug.LogError("Unexpected error: Native Overlay ad load event " +
" fired with null ad and null error.");
return;
}
// The operation completed successfully.
Debug.Log("Native Overlay ad loaded with response : " +
ad.GetResponseInfo());
_nativeOverlayAd = ad;
// Register to ad events to extend functionality.
RegisterEventHandlers(ad);
});
}
Renderiza el anuncio nativo superpuesto y asígnale un estilo
Los anuncios superpuestos nativos se renderizan con un NativeTemplateStyle
. Esta clase define campos que te permiten personalizar la apariencia del anuncio.
TemplateID
es una cadena obligatoria que define la plantilla nativa que se usa para renderizar el anuncio nativo superpuesto. Usa la constante NativeTemplateID
para elegir una plantilla nativa adecuada para tu anuncio.
El siguiente código renderiza el anuncio nativo superpuesto con una plantilla mediana y un estilo personalizado.
/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Rendering Native Overlay ad.");
// Define a native template style with a custom style.
var style = new NativeTemplateStyle
{
TemplateID = NativeTemplateID.Medium,
MainBackgroundColor = Color.red,
CallToActionText = new NativeTemplateTextStyles
{
BackgroundColor = Color.green,
FontColor = Color.white,
FontSize = 9,
Style = NativeTemplateFontStyle.Bold
}
};
// Renders a native overlay ad at the default size
// and anchored to the bottom of the screne.
_nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
}
}
Muestra y oculta el anuncio nativo superpuesto
El siguiente código brinda un ejemplo de cómo mostrar un anuncio nativo superpuesto cargado.
/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Showing Native Overlay ad.");
_nativeOverlayAd.Show();
}
}
Oculta el anuncio nativo superpuesto
El siguiente código brinda un ejemplo de cómo ocultar un anuncio nativo superpuesto.
/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Hiding Native Overlay ad.");
_nativeOverlayAd.Hide();
}
}
Destruye el anuncio nativo superpuesto
Cuando termines de usar el anuncio nativo superpuesto, asegúrate de llamar a Destroy()
para liberar recursos.
/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Destroying native overlay ad.");
_nativeOverlayAd.Destroy();
_nativeOverlayAd = null;
}
}
Próximos pasos
- Obtén más información sobre los anuncios nativos en nuestra guía de anuncios nativos.
- Consulta los lineamientos y políticas de los anuncios nativos.