I banner adattivi ti consentono di specificare la larghezza di un annuncio per determinare le dimensioni ottimali dell'annuncio per ogni dispositivo. A differenza dei banner adattivi ancorati, i banner adattivi in linea sono più grandi, più alti e non utilizzano altezze fisse. I banner adattivi in linea hanno un'altezza variabile. Questi banner potrebbero riempire l'intero schermo o un'altezza massima specificata.
Questa guida illustra come creare banner adattivi in linea e impostare le dimensioni del banner.
L'immagine seguente mostra i banner adattivi in linea nei contenuti scorrevoli:
Prima di iniziare
Prima di continuare, assicurati di aver configurato gli annunci banner.
Per visualizzare un esempio completo di banner adattivo in linea, scarica la seguente app di esempio:
Implementare i banner adattivi in linea
Per implementare i banner adattivi in linea, imposta le dimensioni dell'annuncio, crea una richiesta di annuncio e carica l'annuncio.
Per dimensionare un banner adattivo in linea, determina la larghezza dell'annuncio. Di seguito sono riportati alcuni approcci comuni:
- Utilizzare la larghezza a schermo intero.
- Utilizzare la larghezza del layout principale contenente l'annuncio.
- Regolare la larghezza per tenere conto delle aree sicure del dispositivo.
Quando crei l'oggetto delle dimensioni dell'annuncio, utilizza questa larghezza calcolata.
L'esempio seguente imposta le dimensioni dell'annuncio, crea una richiesta di annuncio e carica l'annuncio:
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;
}
});
}
Impostare il layout del banner adattivo in linea
Per precaricare un annuncio banner adattivo in linea per un layout specifico, utilizza i seguenti metodi:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Se la tua app supporta le visualizzazioni in verticale e in orizzontale e vuoi precaricare
un annuncio banner adattivo nel layout corrente, utilizza il
AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width)
metodo.
Questo metodo carica un annuncio nel layout corrente.
Limitare l'altezza del banner adattivo in linea
Per impostazione predefinita, i banner adattivi in linea creati senza un valore maxHeight hanno un'altezza massima pari all'altezza del dispositivo. Per limitare l'altezza del banner adattivo in linea, utilizza il
AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
metodo.