如果廣告無法載入,系統會呼叫 回呼 ,提供 LoadAdError
物件。
針對 an AdView
,會呼叫以下內容:
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.
// For example "Account not approved yet". See
// https://support.google.com/admob/answer/9905175 for explanations of
// common errors.
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.
// 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 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())
}
您可以利用這項資訊,更準確地判斷廣告載入失敗的原因。
特別是針對
MobileAds.ERROR_DOMAIN
網域下的錯誤,訊息 可在這篇說明中心文章中查詢,瞭解更詳細的說明,以及可採取的解決問題行動。
偵錯常見的錯誤記錄訊息
在 Google Mobile Ads SDK 23.5.0 版中,詳細記錄功能已強化,可納入廣告載入失敗的堆疊追蹤記錄。這些訊息並非表示發生異常終止,而是指出錯誤的獨特來源。下表列出常見的錯誤記錄、說明和解決建議:
錯誤記錄 | 說明 | 建議的動作 |
---|---|---|
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? |
廣告單元 ID 與預期的規則運算式不符。 | 檢查廣告單元 ID 是否正確。 |
com.google.android.gms.ads.internal.render.bt: Unable to
instantiate mediation adapter class. |
Google Mobile Ads SDK 找不到中介服務適配器。 | |
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 |
AdMob 伺服器拒絕要求。 | 請稍後再試。如果一再發生,請使用廣告檢查器擷取要求網址,然後與支援團隊聯絡。 |