Anúncios de banner adaptativo inline

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. Esses banners podem preencher a tela inteira ou uma altura máxima especificada.

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

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

Diagrama mostrando 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 banners adaptativos inline, defina o tamanho do anúncio, crie uma solicitação de anúncio e carregue o anúncio.

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

  • 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 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;
        }
      });
}

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 retrato e paisagem e você quer pré-carregar um anúncio de banner adaptativo no layout atual, use o AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) método. 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 a altura do banner adaptativo inline, use o AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)método.