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, Os banners adaptativos inline têm altura variável. Os banners inline podem preencher a tela inteira ou uma altura máxima especificada por você.

Este guia aborda como criar banners adaptativos inline e definir o tamanho deles.

A imagem abaixo 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 os anúncios de banner.

Para conferir um exemplo completo de banner adaptativo inline, faça o download do 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.

O exemplo a seguir define o tamanho do anúncio, cria uma solicitação de anúncio e carrega o anúncio:

Kotlin

private fun loadInlineAdaptiveBannerAd(adView: AdView, activity: Activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val bannerWidth = 320
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth)
  val adRequest = BannerAdRequest.Builder(AD_UNIT_ID, adSize).build()

  adView.loadAd(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        Log.d(TAG, "Inline adaptive banner ad loaded.")
      }

      override fun onAdFailedToLoad(adError: LoadAdError) {
        Log.d(TAG, "Inline adaptive banner ad failed to load: $adError")
      }
    },
  )
}

Java

private void loadInlineAdaptiveBannerAd(@NonNull AdView adView, @NonNull Activity activity) {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  int bannerWidth = 320;
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(activity, bannerWidth);
  BannerAdRequest adRequest = new BannerAdRequest.Builder(AD_UNIT_ID, adSize).build();

  adView.loadAd(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd bannerAd) {
          Log.d(TAG, "Inline adaptive banner ad loaded.");
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          Log.d(TAG, "Inline adaptive banner ad failed to load: " + adError);
        }
      });
}

Substitua AD_UNIT_ID pelo ID do seu bloco de anúncios.

Defina um tamanho de anúncio menor ou igual ao tamanho da tela do dispositivo. Para determinar o tamanho máximo da tela, use o método Resources.getDisplayMetrics. As dimensões do objeto AdSize usam pixels independentes de densidade (dp). Ao comparar, converta o tamanho da tela de pixels para dp. Para mais detalhes sobre as restrições de tamanho, consulte Resolver problemas de impressões não preenchidas no Ad Manager.

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

Definir 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 em modo 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 à do dispositivo. Para limitar a altura do banner adaptativo inline, use o método AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).