שגיאות בחירת מודעות

אם המודעה לא נטענת, מופעלת פונקציית קריאה חוזרת (callback) שמספקת אובייקט LoadAdError.

בשביל AdManagerAdView, מתבצעת קריאה לפונקציה הבאה:

בדוגמה הבאה מוצג המידע שזמין כשטעינת המודעה נכשלת:

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/admob/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
  // for a list of possible codes.
  val errorCode = error.code
  // Gets an error message.
  // For example "Account not approved yet". See
  // https://support.google.com/admob/answer/9905175 for explanations of
  // common errors.
  val errorMessage = error.message
  // Gets additional response information about the request. See
  // https://developers.google.com/admob/android/response-info
  // 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())
}

Java

@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
  // Gets the domain from which the error came.
  String errorDomain = adError.getDomain();
  // Gets the error code. See
  // https://developers.google.com/admob/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
  // for a list of possible codes.
  int errorCode = adError.getCode();
  // Gets an error message.
  // For example "Account not approved yet". See
  // https://support.google.com/admob/answer/9905175 for explanations of
  // common errors.
  String errorMessage = adError.getMessage();
  // Gets additional response information about the request. See
  // https://developers.google.com/admob/android/response-info
  // information.
  ResponseInfo responseInfo = adError.getResponseInfo();
  // Gets the cause of the error, if available.
  AdError cause = adError.getCause();
  // All of this information is available using the error's toString() method.
  Log.d("Ads", adError.toString());
}

ניפוי באגים של הודעות נפוצות ביומן השגיאות

בגרסה 23.5.0 של Google Mobile Ads SDK (Legacy), שיפרנו את הרישום המפורט ביומן כך שיכלול דוח קריסות של המקום שבו המודעה לא נטענה. ההודעות האלה לא מצביעות על קריסה, אלא מזהות את המקור הייחודי של השגיאה. בטבלה הבאה מפורטים יומני שגיאות נפוצים, תיאורים ופעולות מוצעות לפתרון:

יומן שגיאות תיאור הצעות לפעולות
com.google.android.gms.ads.nonagon.render.cp: * שרת המודעות לא החזיר מודעה או מקורות מודעות בתהליך בחירת הרשת (Mediation) לבקשה. במאמר פתרון בעיות שקשורות לחשיפות שלא מולאו מוסבר איך לפתור בעיות שקשורות לבקשות שלא מולאו.
com.google.android.gms.ads.nonagon.render.e: * כל מקורות המודעות ברשימת הרשתות בתהליך בחירת הרשת לא נטענו. השגיאה הספציפית מייצגת את מקור המודעות האחרון שנכשל. כדי לקבל פרטים על רישום הסיבה לכשל של כל מקור מודעות בתהליך בחירת הרשת, אפשר לעיין במאמר Response Info (פרטי התגובה).
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. הבקשה להצגת מודעה נכשלה כי אסור להשתמש ב-WebView בתהליכים עם הרשאות.
  • בודקים את הגדרות האינטרנט.
  • צריך להסיר את android:sharedUserId="android.uid.system" ולהתקין את האפליקציה כאפליקציית מערכת.
הבקשה להצגת מודעה נכשלה בגלל חיבור איטי לרשת. כדאי לנסות לשפר את החיבור לאינטרנט ולנסות שוב.
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 (Legacy) לא מצליח למצוא את המתאם של תהליך בחירת הרשת.
  • כדי לזהות אילו מתאמים Google Mobile Ads SDK (Legacy) לא מצליח למצוא, אפשר להשתמש באפשרות הצגת המתאמים הזמינים בכלי לבדיקת מודעות.
  • מוסיפים לפרויקט את המתאמים החסרים. בקטע פרטי הרשת מוסבר איך לבצע את השלב הזה בכל מקור מודעות.
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 השרתים של Ad Manager דחו את הבקשה. אפשר לנסות שוב אחר כך. אם אפשר לשחזר את הבעיה באופן עקבי, צריך לתעד את כתובת ה-URL של הבקשה באמצעות הכלי לבדיקת מודעות ולפנות לתמיכה.