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 la 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 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.

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()));

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:

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 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 método AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).