AdResult
对象提供了一种检测广告加载失败尝试次数的机制。如果发生失败,AdResult
方法 is_successful()
将返回 false。在这些情况下,调用 AdResult
方法 ad_error()
将返回一个包含与错误相关信息的 AdError
对象。
以下代码段说明了广告加载失败时可用的信息:
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());
}
}
此信息可用于更准确地确定导致广告加载失败的原因。需要特别指出的是,对于网域 com.google.admob
(在 iOS 上)和 com.google.android.gms.ads
(在 Android 上)下的错误,可在这篇帮助中心文章中查询相应消息,以获取更多详细说明并了解可以采取哪些措施来解决相应问题。