AI-generated Key Takeaways
-
The Google Mobile Ads C++ SDK is deprecated as of June 17, 2024, and should not be adopted in new projects.
-
The SDK will enter End-of-Maintenance on June 17, 2025, after which no further bug fixes or changes will be released.
-
Instead of the Google Mobile Ads C++ SDK, consider using the iOS and Android SDKs from AdMob.
-
AdResult
objects can be used to detect failed ad load attempts and provide information about the error through theAdError
object. -
Error messages for specific domains can be looked up in a help center article for more detailed explanations and resolutions.
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.