La mediazione di AdMob è una funzionalità che ti consente di pubblicare annunci nelle tue app da più origini, tra cui la Rete AdMob, le reti pubblicitarie di terze parti e le campagne AdMob. La 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 pubblicitaria disponibile per mostrare annunci. Case study.
Prerequisiti
Prima di poter integrare la mediazione per un formato annuncio, devi integrare il formato annuncio nella tua app:
Non hai mai utilizzato la mediazione? Leggi la panoramica della mediazione di AdMob.
Inizializzare 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 annunci.
Il codice campione riportato di seguito mostra come controllare lo stato di inizializzazione di ogni adattatore prima di effettuare una richiesta di annunci.
// Initialize the Google Mobile Ads library
firebase::gma::Initialize(*app);
// In a game loop, monitor the initialization status
auto initialize_future = firebase::gma::InitializeLastResult();
if (initialize_future.status() == firebase::kFutureStatusComplete &&
initialize_future.error() == firebase::gma::kAdErrorCodeNone) {
// Initialization completed successfully, log the adapter status:
std::map<std::string, firebase::gma::AdapterStatus> adapter_status_map =
firebase::gma::GetInitializationStatus().GetAdapterStatusMap();
for (auto it = adapter_status_map.begin(); it != adapter_status_map.end(); ++it) {
std::string adapter_class_name = it->first;
firebase::gma::AdapterStatus adapter_status = it->second;
printf(“adapter: %s \t description: %s \t is_initialized: %d latency: %d\n”,
adapter_class_name.c_str(),
adapter_status.description().c_str(),
adapter_status.is_initialized(),
adpater_status.latency());
}
} else {
// Handle initialization error.
}
Per ulteriori informazioni sull'utilizzo di Futures, consulta Utilizzare Futures per monitorare lo stato di completamento delle chiamate di metodi.
Controllare il valore di adNetworkClassName
Ogni risultato dell'annuncio contiene informazioni sul nome della classe della rete pubblicitaria che ha recuperato l'annuncio corrente.
Ecco un codice campione che registra il nome della classe della rete pubblicitaria da un AdResult restituito da un AdView. È possibile utilizzare un codice simile per gli annunci interstitial e con premio:
firebase::Future<AdResult> load_ad_future = banner_view.loadAd(ad_request);
// In a game loop, monitor the ad load status
if (load_ad_future.status() == firebase::kFutureStatusComplete &&
load_ad_future.error() == firebase::gma::kAdErrorCodeNone) {
const AdResult* ad_result = load_ad_future.result();
printf(“Loaded ad with adapter class name: %s\n”,
ad_result->adapter_class_name().c_str());
} else {
// Handle the load ad error.
}
Mediazione degli annunci banner
Assicurati di disabilitare l'aggiornamento nell'interfaccia utente di tutte le reti pubblicitarie di terze parti per le unità pubblicitarie di annunci banner utilizzate nella Mediazione AdMob. In questo modo si evita un doppio aggiornamento, poiché AdMob attiva anche un aggiornamento in base alla frequenza di aggiornamento dell'unità pubblicitaria banner.
Passaggi successivi
L'SDK Google Mobile Ads per C++ esegue il wrapping delle implementazioni degli SDK per Android e iOS per la mediazione. Pertanto, l'ulteriore configurazione, inclusa l'installazione degli adattatori di mediazione, è specifica per le piattaforme Android e iOS. Per ulteriori informazioni, consulta la guida Scegliere le reti dell'SDK Google Mobile Ads per Android e la guida Scegliere le reti dell'SDK Google Mobile Ads per iOS.