Erros de carregamento de anúncios


Os objetos AdResult oferecem um mecanismo para detectar tentativas de carregamento de anúncios com falha. Se ocorrer uma falha, o método is_successful() do AdResult vai retornar "false". Nessas situações, invocar o método ad_error() do AdResult vai retornar um objeto AdError com informações relacionadas ao erro.

Confira um snippet de código que ilustra as informações disponíveis quando um anúncio não é carregado:

firebase::Future<firebase::gma::AdResult> load_ad_future =
  ad_view->LoadAd(request);

// In a game loop, monitor the load ad status
if (load_ad_future.status() == firebase::kFutureStatusComplete) {
  const firebase::gma::AdResult* ad_result = load_ad_future.result();
  if (!ad_result.is_successful()) {
    // There was an error loading the ad.
    const AdError& ad_error = ad_result.ad_error();
    firebase::gma::AdErrorCode code = ad_error.code();
    std::string domain = ad_error.domain();
    std::string message = ad_error.message();
    const firebase::gma::ResponseInfo response_info = ad_error.response_info();
    printf("Received error with domain: %s, code: %d, message: %s and response info: %s\n”,
      domain.c_str(), message.c_str(), response_info.ToString().c_str());
  }
}

Essas informações podem ser usadas para determinar com mais precisão o que causou a falha no carregamento do anúncio. E para erros no domínio com.google.admob no iOS e em com.google.android.gms.ads no Android, a mensagem pode ser pesquisada neste artigo da Central de Ajuda, que traz uma explicação mais detalhada e as possíveis medidas para resolver o problema.