Mediazione

La Mediazione AdMob è una funzionalità che consente di pubblicare nelle tue app annunci provenienti da più origini, tra cui la Rete AdMob, reti pubblicitarie di terze parti e campagne AdMob. La Mediazione AdMob contribuisce a massimizzare il tasso di riempimento e ad aumentare la monetizzazione inviando richieste di annunci a più reti per 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 il formato dell'annuncio nella tua app:

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

Inizializza l'SDK Mobile Ads

La guida rapida ti mostra come inizializzare l'SDK Mobile Ads. Durante la chiamata di inizializzazione, vengono inizializzati anche gli adattatori di mediazione e di offerta. È 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 sull'utilizzo dei contratti a termine, consulta l'articolo sull'utilizzo dei contratti a termine per monitorare lo stato di completamento delle chiamate ai metodi.

Controlla il valore di adNetworkClassName

Ogni 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 di un AdResult restituito da un AdView. Puoi utilizzare 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 in tutte le reti pubblicitarie di terze parti per le unità pubblicitarie banner utilizzate nella mediazione AdMob. Questo impedirà un doppio aggiornamento poiché AdMob attiva un aggiornamento in base alla frequenza di aggiornamento dell'unità pubblicitaria banner.

Passaggi successivi

L'SDK C++ di Google Mobile Ads aggrega le implementazioni dell'SDK Android e iOS per la mediazione. Pertanto, un'ulteriore configurazione, che include l'installazione degli adattatori di mediazione, è specifica per le piattaforme Android e iOS. Per ulteriori informazioni, consulta la guida relativa alla scelta delle reti dell'SDK Google Mobile Ads per Android e la guida relativa alla scelta delle reti dell'SDK Google Mobile Ads per iOS.