אובייקטים מסוג 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, אפשר לעיין בהודעה במאמר הזה במרכז העזרה כדי לקבל הסבר מפורט יותר על השגיאה ועל הפעולות שאפשר לבצע כדי לפתור את הבעיה.