Usar banners adaptativos inline para aqueles com rolagem

Selecione a plataforma: Android iOS Flutter Android (legada)

Com os banners adaptativos, é possível especificar a largura de um anúncio para determinar o tamanho ideal dele em cada dispositivo. Ao contrário dos banners adaptativos fixos, os adaptativos inline são maiores, mais altos e não usam alturas fixas, e sim variáveis. Os banners inline podem preencher a tela inteira ou uma altura máxima especificada por você.

Este guia aborda a criação de banners adaptativos inline e a definição do tamanho deles.

A imagem a seguir mostra banners adaptativos inline em conteúdo com rolagem:

Diagrama mostra as diferenças entre banners adaptativos e adaptativos inline.

Antes de começar

Antes de continuar, configure anúncios de banner.

Para ver um exemplo completo de banner adaptativo inline, baixe o seguinte app de exemplo:

Implementar banners adaptativos inline

Para implementar esses banners, defina o tamanho dele, crie uma solicitação e carregue o anúncio.

Para dimensionar um banner adaptativo inline, determine a largura do anúncio. As abordagens comuns incluem:

  • Usar a largura da tela cheia.
  • Usar a largura do layout pai que contém o anúncio.
  • Ajustar a largura para considerar as áreas seguras do dispositivo.

Ao criar o objeto de tamanho do anúncio, use essa largura calculada.

Siga estas etapas:

  1. Descubra qual é a largura do seu dispositivo ou defina uma:

    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 receber um objeto de tamanho de anúncio adaptável inline, use um método estático na classe de tamanho do anúncio:

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

Se você precisar atualizar ou criar itens de linha para usar banners adaptativos, consulte Configurar itens de linha para banners adaptativos.

Definir o layout do banner adaptativo inline

Para pré-carregar um anúncio de banner adaptativo inline em um layout específico, use estes métodos:

Se o app aceita as visualizações retrato e paisagem e você quer pré-carregar um anúncio de banner adaptativo no layout atual, use o método AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). Ele carrega um anúncio no layout atual.

Limitar a altura do banner adaptativo inline

Por padrão, os banners adaptativos inline criados sem um valor de maxHeight têm uma altura máxima igual à altura do dispositivo. Para limitar esse altura, use o método AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).