Usa banners intercalados adaptables que admiten el desplazamiento

Selecciona la plataforma: Android iOS Flutter Android (heredado)

Los banners adaptables te permiten especificar el ancho de un anuncio para determinar cuál es su tamaño óptimo para 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:

Diagrama que muestra las diferencias entre los banners adaptables fijos y los intercalados

Antes de comenzar

Antes de continuar, asegúrate de configurar 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 cargar el anuncio.

Para definir el tamaño de un banner adaptable intercalado, determina el ancho del anuncio. Entre los enfoques comunes, se incluyen los siguientes:

  • El uso del ancho de pantalla completa.
  • El uso del ancho del diseño de nivel superior que contiene el anuncio.
  • El ajuste del ancho para tener en cuenta las áreas seguras del dispositivo

Cuando crees el objeto de tamaño del anuncio, usa este ancho calculado.

Completa los siguientes pasos:

  1. Obtén el ancho de tu dispositivo o establece un ancho:

    Kotlin

    private val adWidth: Int
      get() {
        val displayMetrics = resources.displayMetrics
        val adWidthPixels =
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
          } else {
            displayMetrics.widthPixels
          }
        val density = displayMetrics.density
        return (adWidthPixels / density).toInt()
      }
    

    Java

    public int getAdWidth() {
      DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int adWidthPixels = displayMetrics.widthPixels;
    
      if (VERSION.SDK_INT >= VERSION_CODES.R) {
        WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics();
        adWidthPixels = windowMetrics.getBounds().width();
      }
    
      float density = displayMetrics.density;
      return (int) (adWidthPixels / density);
    }
    
  2. Para obtener un objeto de tamaño de anuncio adaptable intercalado, usa un método estático en la clase de tamaño del anuncio:

    Kotlin

    val adView = AdView(this@MainActivity)
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))

    Java

    final AdView adView = new AdView(MainActivity.this);
    adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));

Si necesitas actualizar o crear líneas de pedido para usar banners adaptables, consulta Configura líneas de pedido para banners adaptables.

Establece 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:

Si tu app admite vistas verticales y horizontales, y quieres precargar un anuncio de banner adaptable en el diseño actual, usa el método AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). 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 que se crean 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 método AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).