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:
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:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
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.