Trong trường hợp quảng cáo không tải được, hệ thống sẽ gọi một phương thức uỷ quyền hoặc trình xử lý hoàn thành để cung cấp một đối tượng NSError.
Đối với GAMBannerView, lệnh gọi lại là:
Swift
func bannerView(_ bannerView: AdManagerBannerView, didFailToReceiveAdWithError error: Error)
Objective-C
- (void)bannerView:(nonnull GAMBannerView *)bannerView
didFailToReceiveAdWithError:(nonnull NSError *)error;
Ví dụ sau đây cho thấy thông tin có sẵn khi quảng cáo không tải được:
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);
}