Ad load errors

  • When an ad fails to load, a delegate method or completion handler is called providing an NSError object.

  • The NSError object contains information such as the error domain, code, and a localized description.

  • For errors in the GADErrorDomain, the localizedDescription can provide a more detailed explanation and suggest actions for resolution.

Select platform: Android iOS Unity Flutter

In cases where an ad fails to load, a delegate method or completion handler is called which provides a NSError object.

For GADBannerView, the following is called:

Swift

func bannerView(_ bannerView: BannerView, didFailToReceiveAdWithError error: Error) 

Objective-C

- (void)bannerView:(nonnull GADBannerView *)bannerView  didFailToReceiveAdWithError:(nonnull NSError *)error; 

The following example shows the information available when an ad fails to load:

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); } 
For errors under the domain GADErrorDomain, the localizedDescription can be looked up in the Resolve common onboarding issues article for a more detailed explanation and possible actions that can be taken to resolve the issue.