Mediazione AdMob è una funzionalità che consente di pubblicare nelle tue app annunci provenienti da più origini, tra cui la rete AdMob e origini annuncio di terze parti, in un unico posto. Mediazione AdMob aiuta a ottimizzare il tasso di riempimento e ad aumentare la monetizzazione grazie all'invio di richieste di annunci a più reti per essere sicuri di trovare la migliore rete disponibile per mostrare annunci. Case study.
Prerequisiti
Prima di poter integrare la mediazione per un formato annuncio, devi integrare quest'ultimo nella tua app:
- Annunci banner
- Annunci interstitial
- Annunci nativi
- Annunci con premio
- Annunci interstitial con premio
Non hai mai utilizzato la mediazione? Leggi Panoramica di Mediazione AdMob.
Per le offerte: SDK Google Mobile Ads 18.3.0 o versioni successive.
Inizializza l'SDK Mobile Ads
La guida rapida mostra come inizializzare l'SDK Mobile Ads. Durante la chiamata di inizializzazione, vengono inizializzati anche gli adattatori di mediazione. È importante attendere il completamento dell'inizializzazione prima di caricare gli annunci per garantire la piena partecipazione di ogni rete pubblicitaria alla prima richiesta di annuncio.
Il seguente codice di esempio mostra come controllare lo stato di inizializzazione di ogni adattatore prima di effettuare una richiesta di annuncio.
Java
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
Controllare quale classe dell'adattatore di rete pubblicitaria ha caricato l'annuncio
Di seguito è riportato un esempio di codice che registra il nome della classe della rete pubblicitaria per un annuncio banner:
Java
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
Kotlin
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
Per informazioni dettagliate su questo metodo, consulta la documentazione di ResponseInfo
su getMediationAdapterClassName()
.
Inizializza l'oggetto annuncio con un'istanza di Activity
Nel costruttore di un nuovo oggetto annuncio (ad esempio,
AdView
),
devi passare un oggetto di tipo
Context
.
Questo Context
viene trasmesso ad altre reti pubblicitarie quando viene utilizzata la mediazione. Alcune
reti pubblicitarie richiedono un Context
più restrittivo di tipo
Activity
e potrebbero non essere in grado di pubblicare annunci senza un'istanza Activity
. Pertanto,
ti consigliamo di passare un'istanza Activity
durante l'inizializzazione degli oggetti annuncio
per garantire un'esperienza coerente con le reti pubblicitarie di mediazione.
Utilizzare gli annunci banner con Mediazione AdMob
Assicurati di disattivare l'aggiornamento in tutte le UI delle origini annuncio di terze parti per le unità pubblicitarie banner utilizzate in AdMob Mediation. In questo modo si evita un doppio aggiornamento, poiché AdMob attiva anche un aggiornamento in base alla frequenza di aggiornamento dell'unità pubblicitaria banner.
Utilizzare gli annunci nativi con Mediazione AdMob
Di seguito sono riportate alcune best practice da tenere presenti quando implementi gli annunci nativi nella mediazione AdMob.
- Norme sulla presentazione degli annunci nativi
- Ogni rete pubblicitaria ha le proprie norme. Quando utilizzi la mediazione, è importante ricordare che la tua app deve comunque rispettare le norme della rete di mediazione che ha fornito l'annuncio.
- Utilizza
loadAd()
al posto diloadAds()
- Il metodo
loadAds()
pubblica solo annunci Google. Per gli annunci con mediazione, utilizzaloadAd()
.
Leggi statali sulla privacy degli Stati Uniti e GDPR
Se devi rispettare le leggi sulla privacy degli stati degli Stati Uniti o il Regolamento generale sulla protezione dei dati (GDPR), segui i passaggi descritti nelle impostazioni relative alle normative degli stati USA o nelle impostazioni relative al GDPR per aggiungere i tuoi partner di mediazione all'elenco dei partner pubblicitari per gli stati USA o per il GDPR in Privacy e messaggi di AdMob. In caso contrario, i partner non potranno pubblicare annunci nella tua app.
Scopri di più sull'attivazione del trattamento dati limitato (RDP) e sull'ottenimento del consenso ai sensi del GDPR con l'SDK Google User Messaging Platform (UMP).