Los banners adaptables te permiten especificar el ancho de un anuncio para determinar cuál es su tamaño óptimo en cada dispositivo. A diferencia de los banners adaptables fijos, los intercalados son más grandes, más altos y no usan alturas fijas. Los banners adaptables intercalados tienen una altura variable. Estos banners pueden ocupar toda la pantalla o una altura máxima que especifiques.
En esta guía, se explica cómo crear banners adaptables intercalados y establecer el tamaño del banner.
En la siguiente imagen, se muestran banners adaptables intercalados en contenido desplazable:
Antes de comenzar
Antes de continuar, asegúrate de configurar los anuncios de banner.
Para ver un ejemplo completo de un banner adaptable intercalado, descarga la siguiente app de ejemplo:
Implementa banners adaptables intercalados
Para implementar banners adaptables intercalados, debes establecer el tamaño del anuncio, crear una solicitud de anuncio y cargarlo.
Para definir el tamaño de un banner adaptable intercalado, determina el ancho del anuncio. Entre los enfoques comunes, se incluyen los siguientes:
- Usa el ancho de pantalla completa.
- Usa el ancho del diseño de nivel superior que contiene el anuncio.
- Ajusta el ancho para respetar las áreas seguras del dispositivo.
Cuando crees el objeto de tamaño del anuncio, usa ese ancho calculado.
En el siguiente ejemplo, se establece el tamaño del anuncio, se crea una solicitud de anuncio y se carga el anuncio:
Kotlin
private fun loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
bannerAd = null
}
}
)
}
Java
private void loadAd() {
// Create an inline adaptive ad size. 320 is a placeholder value.
// Replace 320 with your banner container width.
AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);
// Step 1 - Create a BannerAdRequest object with ad unit ID and size.
BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
adSize).build();
// Step 2 - Load the ad.
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
// Assign the loaded ad to the BannerAd object.
bannerAd = ad;
// Step 3 - Call BannerAd.getView() to get the View and add it
// to view hierarchy on the UI thread.
if (getActivity() != null) {
getActivity()
.runOnUiThread(() ->
binding.bannerViewContainer.addView(ad.getView(getActivity())));
}
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
bannerAd = null;
}
});
}
Si necesitas actualizar o crear líneas de pedido para usar banners adaptables, consulta Configura líneas de pedido para banners adaptables.
Cómo establecer el diseño del banner adaptable intercalado
Para precargar un anuncio de banner adaptable intercalado para un diseño específico, usa los siguientes métodos:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Si tu app admite vistas verticales y horizontales, y quieres precargar
un anuncio de banner adaptable en el diseño actual, usa el
AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width)
método.
Este método carga un anuncio en el diseño actual.
Limita la altura del banner adaptable intercalado
De forma predeterminada, los banners adaptables intercalados creados sin un valor de maxHeight tienen una altura máxima igual a la altura del dispositivo. Para limitar la altura del banner adaptable intercalado, usa el AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)método.