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 ter uma altura máxima especificada.
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:
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;
}
});
}
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
Resources.getDisplayMetrics
método. 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 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 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:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
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
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 à do dispositivo. Para limitar a altura do banner adaptativo inline, use o AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)método.