Mediazione


Mediazione AdMob è una funzionalità che consente di pubblicare nelle tue app annunci provenienti da più sorgenti, tra cui la Rete AdMob, le reti pubblicitarie di terze parti e le campagne AdMob. Mediazione AdMob contribuisce a ottimizzare il tasso di riempimento e ad aumentare la monetizzazione inviando richieste di annunci a più reti per assicurarti di trovare la migliore rete pubblicitaria disponibile per pubblicare annunci. Case study.

Prerequisiti

Prima di poter integrare la mediazione per un formato dell'annuncio, devi integrare il formato dell'annuncio nella tua app:

Non hai mai utilizzato la mediazione? Leggi Panoramica della mediazione AdMob.

Inizializza l'SDK Mobile Ads

La guida rapida illustra 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 codice di esempio 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 dei Futures, consulta Utilizzare i Futures per monitorare lo stato di completamento delle chiamate di metodo.

Controlla il valore di adNetworkClassName

Ciascun risultato dell'annuncio contiene informazioni sul nome della classe della rete pubblicitaria che ha recuperato l'annuncio corrente.

Di seguito è riportato un codice di esempio 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.
}

Assicurati di disattivare l'aggiornamento nell'interfaccia utente di tutte le reti pubblicitarie di terze parti per le unità pubblicitarie banner utilizzate in Mediazione AdMob. In questo modo eviterai 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++ racchiude le implementazioni degli SDK per Android e iOS per la mediazione. Pertanto, un'ulteriore configurazione, inclusa l'installazione di adattatori di mediazione, è specifica per le piattaforme Android e iOS. Per ulteriori informazioni, consulta la guida Scegli reti dell'SDK Google Mobile Ads per Android e la guida Scegli le reti dell'SDK Google Mobile Ads per iOS.