Annunci banner adattivi in linea

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 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:

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

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:

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.