ในกรณีที่โหลดโฆษณาไม่สําเร็จ ระบบจะเรียกใช้ เมธอด Delegate หรือตัวแฮนเดิลการเสร็จสิ้น
ซึ่งระบุ NSError
ออบเจ็กต์
สำหรับ a GADBannerView
ระบบจะเรียกใช้สิ่งต่อไปนี้
Swift
func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error)
Objective-C
- (void)bannerView:(nonnull GADBannerView *)bannerView
didFailToReceiveAdWithError:(nonnull NSError *)error;
ต่อไปนี้คือข้อมูลโค้ดที่แสดงข้อมูลที่พร้อมใช้งานเมื่อโฆษณาโหลดไม่สําเร็จ
Swift
func bannerView(_ bannerView: GADBannerView, 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? GADResponseInfo
// 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
คุณสามารถดูคำอธิบายโดยละเอียดและการดำเนินการที่ทำได้เพื่อแก้ไขปัญหาได้ในบทความนี้ในศูนย์ช่วยเหลือ