במקרים שבהם מודעה לא נטענת, מתבצעת קריאה ל- callback method , שמספק אובייקט LoadAdError
.
בשביל an AdManagerAdView
, הערך הזה נקרא:
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
הנה קטע קוד שממחיש את המידע שזמין כשמודעה לא נטענת:
Java
@Override
public void onAdFailedToLoad(LoadAdError error) {
// Gets the domain from which the error came.
String errorDomain = error.getDomain();
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
int errorCode = error.getCode();
// Gets an error message.
String errorMessage = error.getMessage();
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
ResponseInfo responseInfo = error.getResponseInfo();
// Gets the cause of the error, if available.
AdError cause = error.getCause();
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString());
}
Kotlin
override fun onAdFailedToLoad(error: LoadAdError) {
// Gets the domain from which the error came.
val errorDomain = error.domain
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
val errorCode = error.code
// Gets an error message.
val errorMessage = error.message
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
val responseInfo = error.responseInfo
// Gets the cause of the error, if available.
val cause = error.cause
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString())
}
אפשר להשתמש במידע הזה כדי לקבוע בצורה מדויקת יותר מה גרם לטעינה של המודעה להיכשל.
ניפוי באגים של הודעות נפוצות ביומן השגיאות
בגרסה 23.5.0 של Google Mobile Ads SDK, תיעוד הלוגי המפורט שופר כך שיכלול מעקב סטאק של המיקום שבו המודעה נכשלת בטעינה. ההודעות האלה לא מצביעות על קריסה, אלא מזהות את המקור הייחודי של השגיאה. בטבלה הבאה מפורטים יומני שגיאות נפוצים, תיאורים והצעות לפעולות לפתרון הבעיות:
יומן שגיאות | תיאור | הצעות לפעולות |
---|---|---|
com.google.android.gms.ads.nonagon.render.cp: * |
שרת המודעות לא החזיר מודעה או מקורות של מודעות לבחירת רשת לבקשה. | פתרון בעיות לגבי חשיפות שלא מולאו זמין במאמר פתרון בעיות שקשורות לחשיפות שלא מולאו. |
com.google.android.gms.ads.nonagon.render.e: * |
הטעינה של כל מקורות המודעות ברשימת הרשתות בתהליך בחירת הרשת נכשלה. השגיאה הספציפית מייצגת את מקור המודעות האחרון שנכשל. | במאמר פרטי התגובה אפשר לקרוא פרטים נוספים על רישום הסיבה לכשל של כל מקור מודעות בתהליך בחירת הרשת. |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. |
הבקשה להצגת מודעה נכשלה כי WebView לא מורשה בתהליכים שיש להם הרשאות. |
|
הבקשה להצגת מודעה נכשלה בגלל חיבור איטי לרשת. | כדאי לנסות לשפר את החיבור לאינטרנט ולנסות שוב. | |
com.google.android.gms.ads.nonagon.load.a |
פג הזמן הקצוב לתפוגה של בקשת המודעה. | |
com.google.android.gms.ads.internal.util.*: Error while
connecting to ad server: Unable to resolve host "pubads.g.doubleclick.net":
No address associated with hostname |
בקשת המודעה נכשלה בגלל קישוריות רשת. | |
com.google.android.gms.ads.internal.util.*: Error building
request URL: Cannot determine request type. Is your ad unit id correct? |
מזהה יחידת המודעות לא תואם לביטוי רגולרי צפוי. | בודקים אם מזהה יחידת המודעות נכון. |
com.google.android.gms.ads.internal.render.bt: Unable to
instantiate mediation adapter class. |
ל-Google Mobile Ads SDK אין אפשרות למצוא את מתאם בחירת הרשת. |
|