Utilizzare i banner adattivi in linea per i banner scorrevoli

Seleziona la piattaforma: Android iOS Flutter Android (legacy)

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:

Diagramma che mostra le differenze tra i banner adattivi e i banner adattivi in linea

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:

  1. 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);
    }
    
  2. 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:

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).