Mediação


A Mediação da AdMob é um recurso que permite veicular anúncios de várias origens nos seus apps, incluindo a rede da AdMob, redes de publicidade de terceiros e campanhas da AdMob. A mediação da AdMob ajuda a maximizar sua taxa de preenchimento e aumentar a monetização por meio do envio de solicitações de anúncios para várias redes com o objetivo de garantir que você encontre a melhor rede disponível para veicular anúncios. Estudo de caso.

Pré-requisitos

Antes de integrar a mediação a um formato de anúncio, você precisa integrar esse formato ao seu app:

Você é novo na mediação? Leia a Visão geral da mediação da AdMob.

Inicializar o SDK dos anúncios para dispositivos móveis

O guia de início rápido mostra como inicializar o SDK dos anúncios para dispositivos móveis. Durante essa chamada de inicialização, os adaptadores de mediação também são inicializados. É importante esperar a inicialização ser concluída antes de carregar anúncios para garantir a participação total de todas as redes de publicidade na primeira solicitação de anúncio.

O exemplo de código abaixo mostra como verificar o status de inicialização de cada adaptador antes de fazer uma solicitação de anúncio.

// 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.
}

Para mais informações sobre como trabalhar com Futures, consulte Usar Futures para monitorar o status de conclusão das chamadas de método.

Verifique o valor de adNetworkClassName

Cada resultado de anúncio contém informações sobre o nome da classe da rede de publicidade que buscou o anúncio atual.

Confira um exemplo de código que registra o nome da classe da rede de publicidade de um AdResult retornado de um AdView. Um código semelhante pode ser usado para anúncios intersticiais e premiados:

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.
}

Desative a atualização na interface de todas as redes de publicidade de terceiros para blocos de anúncios de banner usados na mediação da AdMob. Isso vai evitar uma atualização dupla, já que a AdMob também aciona uma atualização com base na taxa de atualização do bloco de anúncios de banner.

Próximas etapas

O SDK dos anúncios para dispositivos móveis do Google para C++ agrupa as implementações do SDK do Android e do iOS para mediação. Portanto, outras configurações, incluindo a instalação de adaptadores de mediação, são específicas para as plataformas Android e iOS. Para mais informações, consulte o guia Escolher redes do SDK dos anúncios para dispositivos móveis do Google para Android e o guia "Escolher redes do SDK dos anúncios para dispositivos móveis do Google" para iOS.