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 occupare l'intero schermo o un'altezza massima specificata da te.
Questa guida illustra come creare banner adattivi in linea e impostarne le dimensioni.
L'immagine seguente mostra i banner adattivi in linea nei contenuti a scorrimento:
Prima di iniziare
Prima di continuare, assicurati di configurare gli annunci banner.
Per visualizzare un esempio completo di banner adattivo in linea, scarica la seguente app di esempio:
Implementa 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 ridimensionare un banner adattivo in linea, determina la larghezza dell'annuncio. Gli approcci più comuni includono:
- Utilizzo della larghezza a schermo intero.
- Utilizzando la larghezza del layout principale contenente l'annuncio.
- Regolazione della larghezza per tenere conto delle aree sicure del dispositivo.
Quando crei l'oggetto della dimensione dell'annuncio, utilizza questa larghezza calcolata.
Completa i seguenti passaggi:
Recupera la larghezza del dispositivo o imposta una larghezza:
Kotlin
private val adWidth: Int get() { val displayMetrics = resources.displayMetrics val adWidthPixels = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = this.windowManager.currentWindowMetrics windowMetrics.bounds.width() } else { displayMetrics.widthPixels } val density = displayMetrics.density return (adWidthPixels / density).toInt() }Java
public int getAdWidth() { DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int adWidthPixels = displayMetrics.widthPixels; if (VERSION.SDK_INT >= VERSION_CODES.R) { WindowMetrics windowMetrics = this.getWindowManager().getCurrentWindowMetrics(); adWidthPixels = windowMetrics.getBounds().width(); } float density = displayMetrics.density; return (int) (adWidthPixels / density); }Per ottenere un oggetto di dimensioni dell'annuncio adattivo inline, utilizza un metodo statico nella classe delle dimensioni dell'annuncio:
Kotlin
val adView = AdView(this@MainActivity) adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, adWidth))Java
final AdView adView = new AdView(MainActivity.this); adView.setAdSize(AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, getAdWidth()));
Imposta una dimensione dell'annuncio inferiore o uguale alle dimensioni dello schermo del dispositivo.
Per determinare le dimensioni massime dello schermo, utilizza il metodo Resources.getDisplayMetrics. Le dimensioni dell'oggetto AdSize utilizzano pixel indipendenti dalla densità (dp). Quando esegui il confronto, converti le dimensioni dello schermo da pixel a dp.
Per maggiori dettagli sui vincoli di dimensione, consulta Risolvi i problemi relativi alle impressioni inevase in Ad Manager.
Se devi aggiornare o creare elementi pubblicitari per utilizzare i banner adattivi, consulta Imposta elementi pubblicitari per i banner adattivi.
Imposta 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 verticale e orizzontale e vuoi precaricare un annuncio banner adattivo nel layout corrente, utilizza il metodo AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width).
Questo metodo carica un annuncio nel layout corrente.
Limita l'altezza dei banner adattivi in linea
Per impostazione predefinita, i banner adattivi in linea creati senza un valore maxHeight
hanno un'altezza massima pari a quella del dispositivo. Per limitare l'altezza del banner adattivo inline, utilizza il metodo AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).