Con alcune modifiche al codice, puoi combinare annunci nativi e banner nelle richieste di annunci.
Prerequisiti
- SDK Google Mobile Ads versione 11.0.0 o successive.
- Completa la Guida introduttiva.
Carica un annuncio
Gli annunci nativi con rendering personalizzato vengono caricati utilizzando la classe AdLoader, che ha la sua
propria classe AdLoader.Builder per personalizzarla durante la creazione. Aggiungendo listener a AdLoader durante la creazione, un'app specifica i tipi di formati di annunci che è pronta a ricevere. Quindi, AdLoader richiede solo questi tipi.
L'oggetto AdLoader può anche essere configurato per effettuare richieste di annunci che possono generare un annuncio banner o un annuncio nativo. L'aggiunta di un OnAdManagerAdViewLoadedListener a AdLoader durante la creazione specifica che gli annunci banner devono competere con gli annunci nativi per soddisfare la richiesta.
Il seguente codice mostra come creare un AdLoader in grado di caricare un annuncio nativo o un annuncio banner in una singola richiesta:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
Il metodo forAdManagerAdView() prepara AdLoader a ricevere annunci banner.
Quando si richiama forAdManagerAdView(), è necessario specificare un elenco di dimensioni degli annunci valide a lunghezza variabile insieme a un OnAdManagerAdViewLoadedListener.
Per effettuare una richiesta di annuncio valida, è necessario specificare almeno una dimensione dell'annuncio valida. Quando un annuncio banner è stato caricato correttamente, viene chiamato il metodo onAdManagerAdViewLoaded() dell'oggetto listener specificato.
Imposta l'oggetto AdViewOptions
L'ultima funzione inclusa nella creazione di AdLoader è un altro metodo facoltativo, withAdManagerAdViewOptions():
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
L'oggetto AdManagerAdViewOptions consente ai publisher di impostare opzioni specifiche per i banner caricati da AdLoader, ad esempio:
setManualImpressionsEnabled()- Attiva i report sulle impressioni manuali per le prenotazioni di Google Ad Manager. Le app che utilizzano le impressioni manuali possono determinare autonomamente quando registrare un'impressione e possono farlo chiamando
AdManagerAdView.recordManualImpression().