广告加载错误
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
如果广告加载失败,系统会调用委托方法或完成处理程序,并提供 NSError
对象。
对于 GADBannerView
,系统将调用以下内容:
以下示例展示了广告加载失败时可用的信息:
Swift
func bannerView(_ bannerView: BannerView, didFailToReceiveAdWithError error: Error) {
// Gets the domain from which the error came.
let errorDomain = error.domain
// Gets the error code. See
// https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
let 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.
let errorMessage = error.localizedDescription
// Gets additional response information about the request. See
// https://developers.google.com/admob/ios/response-info for more information.
let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo
// Gets the underlyingError, if available.
let underlyingError = (error as NSError).userInfo[NSUnderlyingErrorKey] as? Error
if let responseInfo = responseInfo {
print("Received error with domain: \(errorDomain), code: \(errorCode),"
+ "message: \(errorMessage), responseInfo: \(responseInfo),"
+ "underlyingError: \(underlyingError?.localizedDescription ?? "nil")")
}
}
Objective-C
- (void)bannerView:(GADBannerView *)bannerView
didFailToReceiveAdWithError:(NSError *)error {
// Gets the domain from which the error came.
NSString *errorDomain = error.domain;
// Gets the error code. See
// https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
int 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.
NSString *errorMessage = error.localizedDescription;
// Gets additional response information about the request. See
// https://developers.google.com/admob/ios/response-info for more
// information.
GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];
// Gets the underlyingError, if available.
NSError *underlyingError = error.userInfo[NSUnderlyingErrorKey];
NSLog(@"Received error with domain: %@, code: %ld, message: %@, "
@"responseInfo: %@, underlyingError: %@",
errorDomain, errorCode, errorMessage, responseInfo,
underlyingError.localizedDescription);
}
对于域
GADErrorDomain
下的错误,
localizedDescription
的更多详细说明可在
“解决常见的新手入门问题”一文中查询,并了解在解决问题时可以采取的措施。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-27。
[null,null,["最后更新时间 (UTC):2025-08-27。"],[[["\u003cp\u003eWhen an ad fails to load, a delegate method or completion handler is called, providing an \u003ccode\u003eNSError\u003c/code\u003e object with details about the failure.\u003c/p\u003e\n"],["\u003cp\u003eFor \u003ccode\u003eGADBannerView\u003c/code\u003e, the \u003ccode\u003ebannerView(_:didFailToReceiveAdWithError:)\u003c/code\u003e method is called when an ad fails to load.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNSError\u003c/code\u003e object contains information like error domain, code, message, response info, and underlying error, which can be used for debugging.\u003c/p\u003e\n"],["\u003cp\u003eFor errors in the \u003ccode\u003eGADErrorDomain\u003c/code\u003e, the \u003ccode\u003elocalizedDescription\u003c/code\u003e can be cross-referenced with the AdMob help center article (linked in the content) for troubleshooting.\u003c/p\u003e\n"]]],["When an ad fails to load, a delegate method or completion handler provides an `NSError` object. This object reveals the error's domain, code, and a descriptive message. It also includes optional response information and an underlying error. The `GADBannerView`'s `bannerView:didFailToReceiveAdWithError:` method is triggered upon failure. Developers can access and log details from the error object to understand and potentially resolve the ad loading issue, consulting additional resources for further information on error codes.\n"],null,["Select platform: [Android](/admob/android/ad-load-errors \"View this page for the Android platform docs.\") [iOS](/admob/ios/ad-load-errors \"View this page for the iOS platform docs.\") [Unity](/admob/unity/ad-load-errors \"View this page for the Unity platform docs.\") [Flutter](/admob/flutter/ad-load-errors \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nIn cases where an ad fails to load, a\ndelegate method or completion handler\nis called which provides a `NSError` object.\n\nFor `GADBannerView`, the following is called: \n\nSwift \n\n func bannerView(_ bannerView: BannerView, /admob/ios/api/reference/Protocols/GADBannerViewDelegate#-adview:didfailtoreceiveadwitherror: error: Error)\n\nObjective-C \n\n - (void)bannerView:(nonnull GADBannerView *)bannerView\n /admob/ios/api/reference/Protocols/GADBannerViewDelegate#-adview:didfailtoreceiveadwitherror:error;\n\nThe following example shows the information available when an ad fails to load: \n\nSwift \n\n func bannerView(_ bannerView: BannerView, didFailToReceiveAdWithError error: Error) {\n // Gets the domain from which the error came.\n let errorDomain = error.domain\n // Gets the error code. See\n // https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode\n // for a list of possible codes.\n let errorCode = error.code\n // Gets an error message.\n // For example \"Account not approved yet\". See\n // https://support.google.com/admob/answer/9905175 for explanations of\n // common errors.\n let errorMessage = error.localizedDescription\n // Gets additional response information about the request. See\n // https://developers.google.com/admob/ios/response-info for more information.\n let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo\n // Gets the underlyingError, if available.\n let underlyingError = (error as NSError).userInfo[NSUnderlyingErrorKey] as? Error\n if let responseInfo = responseInfo {\n print(\"Received error with domain: \\(errorDomain), code: \\(errorCode),\"\n + \"message: \\(errorMessage), responseInfo: \\(responseInfo),\"\n + \"underlyingError: \\(underlyingError?.localizedDescription ?? \"nil\")\")\n }\n }\n\nObjective-C \n\n - (void)bannerView:(GADBannerView *)bannerView\n didFailToReceiveAdWithError:(NSError *)error {\n // Gets the domain from which the error came.\n NSString *errorDomain = error.domain;\n // Gets the error code. See\n // https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode\n // for a list of possible codes.\n int errorCode = error.code;\n // Gets an error message.\n // For example \"Account not approved yet\". See\n // https://support.google.com/admob/answer/9905175 for explanations of\n // common errors.\n NSString *errorMessage = error.localizedDescription;\n // Gets additional response information about the request. See\n // https://developers.google.com/admob/ios/response-info for more\n // information.\n GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];\n // Gets the underlyingError, if available.\n NSError *underlyingError = error.userInfo[NSUnderlyingErrorKey];\n NSLog(@\"Received error with domain: %@, code: %ld, message: %@, \"\n @\"responseInfo: %@, underlyingError: %@\",\n errorDomain, errorCode, errorMessage, responseInfo,\n underlyingError.localizedDescription);\n }\n\nFor errors under the domain `GADErrorDomain`, the `localizedDescription` can be looked up in the [Resolve common onboarding issues article](//support.google.com/admob/answer/9905175) for a more detailed explanation and possible actions that can be taken to resolve the issue."]]