Ad load errors
Stay organized with collections
Save and categorize content based on your preferences.
In cases where an ad fails to load, a
delegate method or completion handler
is called which provides a NSError
object.
For GAMBannerView
, the following is called:
The following example shows the information available when an ad fails to load:
Swift
func bannerView(_ bannerView: AdManagerBannerView, didFailToReceiveAdWithError error: Error) {
// Gets the domain from which the error came.
let errorDomain = error.domain
// Gets the error code. See
// https://developers.google.com/ad-manager/mobile-ads-sdk/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
let errorCode = error.code
// Gets an error message.
let errorMessage = error.localizedDescription
// Gets additional response information about the request. See
// https://developers.google.com/ad-manager/mobile-ads-sdk/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:(GAMBannerView *)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/ad-manager/mobile-ads-sdk/ios/api/reference/Enums/GADErrorCode
// for a list of possible codes.
int errorCode = error.code;
// Gets an error message.
NSString *errorMessage = error.localizedDescription;
// Gets additional response information about the request. See
// https://developers.google.com/ad-manager/mobile-ads-sdk/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);
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-29 UTC.
[null,null,["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eWhen Google Mobile Ads SDK fails to load an ad, a delegate method or completion handler is called, providing an \u003ccode\u003eNSError\u003c/code\u003e object containing details about the failure.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNSError\u003c/code\u003e object provides access to the error domain, code, message, underlying error, and response information via its properties and user info dictionary.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize this information to diagnose and address the root cause of ad load failures, ensuring a smoother ad experience.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code snippets illustrate how to access and interpret the error information within the delegate methods for \u003ccode\u003eGAMBannerView\u003c/code\u003e.\u003c/p\u003e\n"]]],["When an ad fails to load, a delegate method (`bannerView:didFailToReceiveAdWithError:`) is triggered, providing an `NSError` object. This object contains the error's domain, code, and a descriptive message. It also offers `responseInfo` for request details and `underlyingError` if available. Developers can retrieve and utilize this error information in both Swift and Objective-C, allowing for error handling and debugging.\n"],null,["# Ad load errors\n\nSelect platform: [Android](/ad-manager/mobile-ads-sdk/android/ad-load-errors \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/ad-load-errors \"View this page for the iOS platform docs.\") [Unity](/ad-manager/mobile-ads-sdk/unity/ad-load-errors \"View this page for the Unity platform docs.\") [Flutter](/ad-manager/mobile-ads-sdk/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 `GAMBannerView`, the following is called: \n\n### Swift\n\n func bannerView(_ bannerView: AdManagerBannerView, /ad-manager/mobile-ads-sdk/ios/api/reference/Protocols/GADBannerViewDelegate#-adview:didfailtoreceiveadwitherror: error: Error)\n\n### Objective-C\n\n - (void)bannerView:(nonnull GAMBannerView *)bannerView\n /ad-manager/mobile-ads-sdk/ios/api/reference/Protocols/GADBannerViewDelegate#-adview:didfailtoreceiveadwitherror:error;\n\nThe following example shows the information available when an ad fails to load: \n\n### Swift\n\n func bannerView(_ bannerView: AdManagerBannerView, 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/ad-manager/mobile-ads-sdk/ios/api/reference/Enums/GADErrorCode\n // for a list of possible codes.\n let errorCode = error.code\n // Gets an error message.\n let errorMessage = error.localizedDescription\n // Gets additional response information about the request. See\n // https://developers.google.com/ad-manager/mobile-ads-sdk/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\n### Objective-C\n\n - (void)bannerView:(GAMBannerView *)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/ad-manager/mobile-ads-sdk/ios/api/reference/Enums/GADErrorCode\n // for a list of possible codes.\n int errorCode = error.code;\n // Gets an error message.\n NSString *errorMessage = error.localizedDescription;\n // Gets additional response information about the request. See\n // https://developers.google.com/ad-manager/mobile-ads-sdk/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 }"]]