Los banners adaptables son la nueva generación de anuncios responsivos y maximizan el rendimiento optimizando el tamaño del anuncio para cada dispositivo. A su vez, son una versión mejorada de los banners inteligentes, que solo admitían alturas fijas, ya que permiten especificar el ancho del anuncio para determinar su tamaño óptimo.
Para elegir el mejor tamaño de anuncio, los banners adaptables usan relaciones de aspecto fijas en lugar de alturas fijas. De esta manera, los anuncios de banner ocupan una parte más coherente de la pantalla en los dispositivos y proporcionan oportunidades para mejorar el rendimiento.
Cuando trabajes con banners adaptables, ten en cuenta que siempre mostrarán un tamaño constante para un dispositivo y un ancho determinados. Una vez que hayas probado tu diseño en un dispositivo determinado, podrás tener la certeza de que el tamaño del anuncio no cambiará. Sin embargo, el tamaño de la creatividad del banner sí podría cambiar de un dispositivo a otro. Por lo tanto, te recomendamos que tu diseño se adapte a las variaciones en la altura de los anuncios. En casos excepcionales, es posible que no se renderice el tamaño adaptable completo y, en su lugar, se centre una creatividad de tamaño estándar en ese espacio.
Requisitos previos
Cuándo usar banners adaptables
Los banners adaptables están diseñados para reemplazar de forma directa el tamaño de banner estándar de la industria de 320 × 50 y el formato de banner inteligente.
Estos tamaños de banner se usan frecuentemente como banners fijos, que suelen estar bloqueados en la parte superior o inferior de la pantalla.
En el caso de estos banners fijos, la relación de aspecto cuando se usan banners adaptables será similar a la de un anuncio estándar de 320 × 50, como se puede ver en los tres ejemplos a continuación:
![]() Banner de 320 × 50 |
![]() Banner adaptable |
![]() Banner inteligente |
El banner adaptable aprovecha mejor el tamaño de pantalla disponible. Además, en comparación con los banners inteligentes, los banners adaptables son una mejor opción por los siguientes motivos:
En lugar de forzar el ancho a pantalla completa, utilizan cualquier ancho que proporciones, lo que te permite considerar el área segura en iOS y los cortes de pantalla en Android.
En lugar de tener una altura constante en dispositivos de diferentes tamaños, permiten seleccionar una altura óptima para cada dispositivo específico, lo que mitiga los efectos de la fragmentación de dispositivos.
Notas de la implementación
Cuando implementes banners adaptables en tu app, ten en cuenta los siguientes puntos:
- Debes conocer el ancho de la vista en la que se colocará el anuncio, teniendo en cuenta el ancho del dispositivo y las áreas seguras o los cortes aplicables, si hay.
- Asegúrate de que el fondo de la vista del anuncio sea opaco para satisfacer las políticas de AdMob cuando se publiquen anuncios más pequeños que no llenen el espacio publicitario disponible.
- Asegúrate de usar la versión más reciente del complemento de anuncios de Google para dispositivos móviles para Unity. En el caso de la mediación, usa la versión más reciente de cada adaptador de mediación.
- Los tamaños de los banners adaptables están diseñados para funcionar mejor cuando se usa el total del ancho disponible. En la mayoría de los casos, será el ancho completo de la pantalla del dispositivo en uso. Asegúrate de tener en cuenta las áreas seguras aplicables.
- El SDK de anuncios de Google para dispositivos móviles adaptará el tamaño del banner a una altura optimizada para el ancho determinado cuando se usen las APIs de AdSize adaptables.
- Existen tres métodos para obtener tamaños de anuncio adaptables:
AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
para la orientación horizontal,AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
para la orientación vertical yAdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
para la orientación actual en el momento de la ejecución. - El tamaño que se devuelva para un ancho determinado en un dispositivo específico será siempre el mismo, por lo que, una vez que hayas probado tu diseño en el dispositivo, puedes tener la certeza de que no cambiará el tamaño del anuncio.
- La altura del banner fijo nunca es mayor que el 15% de la altura del dispositivo o 90 píxeles independientes de la densidad (lo que sea menor), y nunca es menor que 50 píxeles independientes de la densidad.
- Para los banners de ancho completo, puedes usar la marca
AdSize.FullWidth
en lugar de proporcionar un ancho específico.
Guía de inicio rápido
Sigue los pasos que se indican a continuación para implementar un banner fijo adaptable simple.
- Obtén un tamaño de anuncio de banner adaptable. El tamaño que obtengas se usará para solicitar tu banner adaptable. Para obtener el tamaño del anuncio adaptable, asegúrate de hacer lo siguiente:
- Obtén el ancho del dispositivo en uso en píxeles independientes de la densidad o, si no deseas usar el ancho completo de la pantalla, establece tu propio ancho.
Dado que las APIs de Unity, como
Screen.width
, devuelven píxeles absolutos, debes dividir el ancho por la escala del dispositivo (que se puede recuperar deMobileAds.Utils.GetDeviceScale()
). - Usa la marca
AdSize.FullWidth
para los banners de ancho completo. - Usa los métodos estáticos adecuados en la clase de tamaño del anuncio, como
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
, si quieres obtener un objetoAdSize
adaptable para la orientación actual.
- Obtén el ancho del dispositivo en uso en píxeles independientes de la densidad o, si no deseas usar el ancho completo de la pantalla, establece tu propio ancho.
Dado que las APIs de Unity, como
- Crea un objeto
BannerView
con el ID de tu unidad de anuncios, el tamaño adaptable y la posición relevante para tu anuncio. - Crea un objeto de solicitud de anuncio y carga tu banner con el método
LoadAd()
en tu vista de anuncio preparada, tal como lo harías con una solicitud de banner normal.
Ejemplo de código
Este es un ejemplo de una secuencia de comandos que carga y vuelve a cargar un banner adaptable para que se ajuste al ancho de la pantalla, teniendo en cuenta el área segura:
using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class AdaptiveBannerSample : MonoBehaviour
{
private BannerView _bannerView;
// Use this for initialization
void Start()
{
// Set your test devices.
// https://developers.google.com/ad-manager/mobile-ads-sdk/unity/test-ads
RequestConfiguration requestConfiguration = new RequestConfiguration
{
TestDeviceIds = new List<string>
{
AdRequest.TestDeviceSimulator,
// Add your test device IDs (replace with your own device IDs).
#if UNITY_IPHONE
"96e23e80653bb28980d3f40beb58915c"
#elif UNITY_ANDROID
"75EF8D155528C04DACBBA6F36F433035"
#endif
}
};
MobileAds.SetRequestConfiguration(requestConfiguration);
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus status) =>
{
RequestBanner();
});
}
public void OnGUI()
{
GUI.skin.label.fontSize = 60;
Rect textOutputRect = new Rect(
0.15f * Screen.width,
0.25f * Screen.height,
0.7f * Screen.width,
0.3f * Screen.height);
GUI.Label(textOutputRect, "Adaptive Banner Example");
}
private void RequestBanner()
{
// These ad units are configured to always serve test ads.
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "ca-app-pub-3212738706492790/6113697308";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3212738706492790/5381898163";
#else
string adUnitId = "unexpected_platform";
#endif
// Clean up banner ad before creating a new one.
if (_bannerView != null)
{
_bannerView.Destroy();
}
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
_bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);
// Register for ad events.
_bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
_bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;
AdRequest adRequest = new AdRequest();
// Load a banner ad.
_bannerView.LoadAd(adRequest);
}
#region Banner callback handlers
private void OnBannerAdLoaded(object sender, EventArgs args)
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
Debug.Log("Ad Height: {0}, width: {1}",
_bannerView.GetHeightInPixels(),
_bannerView.GetWidthInPixels());
}
private void OnBannerAdLoadFailed(LoadAdError error)
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
}
#endregion
}
Aquí, la función AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
se usa para obtener el tamaño de un banner en una posición fija para la orientación actual de la interfaz. Para precargar un banner fijo en una orientación determinada, usa la función relevante de AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
y AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
.