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. Per saperne di più, consulta la Panoramica degli annunci banner.
Questa guida spiega come iniziare a utilizzare le tecnologie di ancoraggio annunci banner adattivi, 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é annunci con dimensioni fisse. Le proporzioni sono simili a quelle dello standard di settore 320 x 50. Una volta specifichi l'intera larghezza disponibile, ti restituisce un annuncio con altezza per quella larghezza. L'altezza ottimale non cambia nelle richieste dello stesso dispositivo e le visualizzazioni circostanti non devono spostarsi quando l'annuncio viene aggiornato.
Prerequisiti
- Completa la Guida introduttiva.
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 per i banner Android:
/21775744923/example/adaptive-banner
È 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 AdManagerAdView al layout
Il primo passaggio per visualizzare un banner è posizionare AdManagerAdView
nel layout della tua app:
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
Carica un annuncio
Una volta impostato AdManagerAdView, il passaggio successivo è
caricare un annuncio. Questo viene fatto con il metodo loadAd()
nella classe AdManagerAdView
. È richiesto un AdManagerAdRequest
contenente le informazioni di runtime, ad esempio le informazioni sul targeting, relative a un
una singola richiesta di annuncio.
Ecco un esempio che mostra come caricare un annuncio:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
Se l'annuncio non viene caricato, non è necessario richiederne un altro in modo esplicito. purché tu abbia configurato l'unità pubblicitaria per aggiornarsi; L'SDK Google Mobile Ads rispetti la frequenza di aggiornamento specificata in Ad Manager a riga di comando. Se non hai attivato l'aggiornamento, dovrai inviare una nuova richiesta.
È tutto. L'app è ora pronta per mostrare annunci banner.
Eventi annuncio
Puoi ascoltare una serie di eventi durante il 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() |
Il metodo onAdClosed()
viene invocato quando un utente torna nell'app dopo aver visualizzato l'URL di destinazione di un annuncio. La tua app può utilizzarlo per riprendere le attività sospese o eseguire qualsiasi altro lavoro necessario per prepararsi all'interazione.
|
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() |
Il metodo onAdImpression()
viene invocato quando viene registrata un'impressione per un annuncio.
|
onAdLoaded() |
La onAdLoaded()
viene eseguito al termine del caricamento di un annuncio. Se vuoi posticipare
aggiungendo AdManagerAdView
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 disattivare l'accelerazione hardware, puoi utilizzare l'attributo android:hardwareAccelerated
per gli elementi <application>
e <activity>
nel 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.
Conteggio manuale delle impressioni
Il conteggio manuale delle impressioni è compatibile solo con annunci autopromozionali e venduti direttamente campagne con creatività trasferite direttamente in Ad Manager. Non deve essere utilizzato per il backfill o per gli annunci delle reti di terze parti. Per ulteriori dettagli, consulta la sezione Conteggio impressioni e clic.
Puoi inviare manualmente ping di impressione ad Ad Manager se hai condizioni speciali per la registrazione di un'impressione. Per farlo, attiva uno
AdManagerAdRequest
per le impressioni manuali prima di caricare un annuncio:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
Quando stabilisci che un annuncio è stato restituito correttamente e appare sullo schermo, puoi registrare manualmente un'impressione:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
Eventi app
Gli eventi app ti consentono di creare annunci che possono inviare messaggi al loro codice dell'app. L'app può quindi eseguire azioni basate su questi messaggi.
Puoi ascoltare eventi dell'app specifici di Ad Manager utilizzando AppEventListener
.
Questi eventi possono verificarsi in qualsiasi momento durante il ciclo di vita dell'annuncio, anche prima
Chiamata onAdLoaded()
.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
void onAppEvent(String name, String info)
viene chiamato quando si verifica un evento app
in un annuncio. Questa interfaccia può essere implementata dalla tua attività o da qualsiasi altro oggetto:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
e infine passato al AdManagerAdView
:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
Ecco un esempio che mostra come modificare il colore di sfondo di un'app a seconda di un evento app con un nome di colore:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
Questa è la creatività corrispondente che invia messaggi di evento app a colori l'ascoltatore:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Consulta l'esempio di eventi app di Ad Manager per un'implementazione degli eventi app nell'app Demo API.
Risorse aggiuntive
Esempi su GitHub
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.