Mediazione

Mediazione AdMob è una funzione che consente di pubblicare nelle tue app annunci provenienti da più sorgenti, tra cui la Rete AdMob, reti pubblicitarie di terze parti e campagne AdMob. Mediazione AdMob aiuta a massimizzare 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 la pubblicazione degli annunci. Case study.

Prerequisiti

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

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

Inizializzare l'SDK Mobile Ads

La guida rapida illustra come inizializzare l'SDK Mobile Ads. Durante la chiamata di inizializzazione, anche gli adattatori di offerta e di mediazione vengono inizializzati. È 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 annuncio.

// 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 su come utilizzare Futures, consulta Utilizzare 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.

Ecco un esempio di codice che registra il nome della classe della rete pubblicitaria da un AdResult restituito da un AdView. È possibile usare 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 basato sulla frequenza di aggiornamento dell'unità pubblicitaria banner.

Passaggi successivi

L'SDK Google Mobile Ads C++ aggrega le implementazioni dell'SDK per Android e iOS per la mediazione. Di conseguenza, l'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.