Annunci banner

Gli annunci banner sono annunci rettangolari che occupano una parte del layout dell'app. Loro rimangono sullo schermo mentre gli utenti interagiscono con l'app, ancorati al nella parte superiore o inferiore dello schermo oppure in linea con i contenuti mentre l'utente scorre la pagina. Banner gli annunci possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Consulta la Panoramica degli annunci banner per ulteriori informazioni.

Questa guida illustra come iniziare a utilizzare il banner adattivo ancorato annunci, che massimizza il rendimento ottimizzando le dimensioni dell'annuncio per ogni dispositivo utilizzando la larghezza di un annuncio da te specificata.

Gli annunci banner adattivi ancorati sono annunci con proporzioni fisse anziché i normali annunci con dimensioni fisse. Le proporzioni sono simili a quelle dello standard di settore 320 x 50. Una volta specifica l'intera larghezza disponibile, ti restituirà un annuncio con altezza per quella larghezza. L'altezza ottimale non cambia da una richiesta all'altra da sullo stesso dispositivo e le viste circostanti non devono spostarsi quando l'annuncio vengono aggiornate.

Prerequisiti

Effettua sempre test con annunci di prova

Durante la creazione e il test delle tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione attivi. In caso contrario, l'account verrà sospeso.

Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato Banner Android:

ca-app-pub-3940256099942544/9214589741

È stato appositamente configurato per restituire annunci di prova per ogni richiesta usalo nelle tue app durante la programmazione, i test e il debug. Assicurati solo di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.

Per ulteriori informazioni sul funzionamento degli annunci di prova dell'SDK Mobile Ads, consulta la sezione Test Google Ads.

Aggiungere AdView al layout

Il primo passaggio per visualizzare un banner è posizionare AdView nel layout per Activity o Fragment in cui vuoi visualizzarlo .

Java

private AdSize getAdSize() {
  // Determine the screen width (less decorations) to use for the ad width.
  Display display = getWindowManager().getDefaultDisplay();
  DisplayMetrics outMetrics = new DisplayMetrics();
  display.getMetrics(outMetrics);

  float density = outMetrics.density;

  float adWidthPixels = adContainerView.getWidth();

  // If the ad hasn't been laid out, default to the full screen width.
  if (adWidthPixels == 0) {
    adWidthPixels = outMetrics.widthPixels;
  }

  int adWidth = (int) (adWidthPixels / density);
  return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}

private void loadBanner() {
  
  // Create a new ad view.
  AdView adView = new AdView(this);
  adView.setAdSizes(getAdSize());
  adView.setAdUnitId("ca-app-pub-3940256099942544/9214589741");

  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin


// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
  get() {
    val display = windowManager.defaultDisplay
    val outMetrics = DisplayMetrics()
    display.getMetrics(outMetrics)

    val density = outMetrics.density

    var adWidthPixels = binding.adViewContainer.width.toFloat()
    if (adWidthPixels == 0f) {
      adWidthPixels = outMetrics.widthPixels.toFloat()
    }

    val adWidth = (adWidthPixels / density).toInt()
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
  }

private fun loadBanner() {
  
  // Create a new ad view.
  val adView = AdView(this)
  adView.adSizes = adSize
  adView.adUnitId = "ca-app-pub-3940256099942544/9214589741"

  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

Carica un annuncio

Dopo avere impostato AdView, il passaggio successivo caricare un annuncio. Puoi farlo usando la loadAd() nella classe AdView. È richiesto un AdRequest contenente le informazioni di runtime, ad esempio le informazioni sul targeting, relative a un una singola richiesta di annuncio.

Di seguito è riportato un esempio che mostra come caricare un annuncio nel metodo onCreate() di una Activity:

Java

private void loadBanner() {
  // Create a new ad view.
  adView = new AdView(this);
  adView.setAdUnitId(AD_UNIT);
  adView.setAdSize(getAdSize());
  
  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin

private fun loadBanner() {
  // This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
  adView.adUnitId = "/6499/example/banner"
  adView.setAdSize(adSize)
  
  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

Se il tuo annuncio non viene caricato, non devi richiederne esplicitamente un altro. purché tu abbia configurato l'unità pubblicitaria per aggiornarsi; L'SDK Google Mobile Ads rispetti la frequenza di aggiornamento specificata a riga di comando. Se non hai abilitato l'aggiornamento, dovrai emettere un nuovo richiesta.

È tutto. L'app è ora pronta per mostrare annunci banner.

Eventi annuncio

Puoi ascoltare una serie di eventi nel ciclo di vita dell'annuncio, tra cui caricamento, impressione e clic sull'annuncio, nonché eventi di apertura e chiusura dell'annuncio. Consigliato per impostare il callback prima di caricare il banner.

Java

AdView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

AdView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

Ciascuno dei metodi sostituibili in AdListener corrisponde a un evento nel ciclo di vita di un annuncio.

Metodi sostituibili
onAdClicked() La onAdClicked() viene richiamato quando viene registrato un clic su un annuncio.
onAdClosed() La onAdClosed() viene richiamato quando un utente torna all'app dopo aver visualizzato URL di destinazione. L'app può usarla per riprendere attività sospese o eseguire tutte le altre operazioni necessarie per prepararsi all'interazione. Fai riferimento alla documentazione Esempio di AdListener per l'implementazione dei metodi di listener di annunci in App Android API Demo.
onAdFailedToLoad() La onAdFailedToLoad() è l'unico che include un parametro. Il parametro di errore del tipo LoadAdError descrive quale errore si è verificato. Per ulteriori informazioni, consulta la sezione Debug degli errori di caricamento degli annunci documentazione.
onAdImpression() La onAdImpression() viene richiamato quando viene registrata un'impressione per un annuncio.
onAdLoaded() La onAdLoaded() viene eseguito al termine del caricamento di un annuncio. Se vuoi posticipare aggiungendo AdView all'attività o al frammento finché non hai la certezza che l'annuncio verrà caricato, ad esempio ad esempio, puoi farlo qui.
onAdOpened() La onAdOpened() viene richiamato quando un annuncio apre un overlay che copre lo schermo.

Accelerazione hardware per annunci video

Affinché gli annunci video vengano mostrati correttamente nelle visualizzazioni degli annunci banner, l'hardware l'accelerazione deve abilitare l'accesso privato.

L'accelerazione hardware è attiva per impostazione predefinita, ma alcune app potrebbero decidere di disattivarla li annotino. Se questo è il caso della tua app, ti consigliamo di abilitare l'accelerazione hardware per Activity di corsi che utilizzano annunci.

Attivazione dell'accelerazione hardware

Se l'app non funziona correttamente con l'accelerazione hardware attivata a livello globale, puoi controllarlo anche per le singole attività. Per attivare o disattiva l'accelerazione hardware, puoi usare android:hardwareAccelerated per l'attributo <application> e <activity> in AndroidManifest.xml. L'esempio seguente abilita l'hardware l'accelerazione per l'intera app, ma la disattiva per un'attività:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Visualizza la sezione Accelerazione hardware guida per saperne di più informazioni sulle opzioni per il controllo dell'accelerazione hardware. Tieni presente che le visualizzazioni di singoli annunci non possono essere abilitate per l'accelerazione hardware se l'attività è disabilitata, pertanto per l'attività stessa deve essere abilitata l'accelerazione hardware.

Risorse aggiuntive

Esempi su GitHub

  • Esempio di annunci banner adattivi ancorati: Java | Kotlin
  • Demo sulle funzionalità avanzate: Java | Kotlin

Passaggi successivi

Banner comprimibili

Gli annunci banner comprimibili sono annunci banner inizialmente presentati come annunci più grandi con un pulsante che consente di comprimere l'annuncio riducendolo a una dimensione inferiore. Valuta l'uso per ottimizzare ulteriormente il rendimento. Per ulteriori dettagli, consulta la sezione sugli annunci banner comprimibili.

Banner adattivi in linea

I banner adattivi in linea sono banner più grandi e più alti rispetto agli adattivi ancorati banner. Sono di altezza variabile e possono essere alti quanto lo schermo del dispositivo. I banner adattivi in linea sono consigliati rispetto agli annunci banner adattivi ancorati per app che inseriscono annunci banner in contenuti scorrevoli. Vedi Adattivi in linea banner per saperne di più i dettagli.

Esplora altri argomenti