AdResult
objects provide a mechanism to detect failed attempts to load an ad.
If a failure occurs, the AdResult
method is_successful()
will return false.
In these situations, invoking the AdResult
method ad_error()
will return an
AdError
object with information pertaining to the error.
Here is a code snippet that illustrates the information available when an ad fails to load:
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());
}
}
This information can be used to more accurately determine what caused the ad
load to fail. In particular, for errors under the domain com.google.admob
on
iOS and com.google.android.gms.ads
on Android, the message can be looked up in
this help center article for a more
detailed explanation and possible actions that can be taken to resolve the
issue.