Để gỡ lỗi và ghi nhật ký, quảng cáo đã tải thành công sẽ cung cấp a
GADResponseInfo
đối tượng. Đối tượng này chứa thông tin về quảng cáo đã tải, ngoài thông tin về quy trình dàn xếp kiểu thác nước được dùng để tải quảng cáo.
Trong trường hợp quảng cáo tải thành công, đối tượng quảng cáo sẽ sử dụng thuộc tính GADResponseInfo. Ví dụ:
GADInterstitialAd.responseInfo
nhận thông tin phản hồi về quảng cáo xen kẽ đã tải.
Đối với trường hợp quảng cáo không thể tải và chỉ có một lỗi, GADResponseInfo có thể lấy bằng cách sử dụng khoá GADErrorUserInfoKeyResponseInfo trên từ điển userInfo của lỗi.
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", request: request ) { (ad, error) in if let error = error { let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo print("\(String(describing: responseInfo))") return } let responseInfo = ad?.responseInfo print("\(String(describing: responseInfo))") } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo]; NSLog(@"%@", responseInfo.description); return; } GADResponseInfo *responseInfo = ad.responseInfo; NSLog(@"%@", responseInfo.description); }]; }
Thông tin phản hồi
Sau đây là kết quả mẫu cho thấy dữ liệu gỡ lỗi được trả về cho một quảng cáo đã tải:
** Response Info **
Response ID: BmnCZaSbE_6Mur8P5su8gAY
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
** Extras Dictionary **
{
"creative_id" = "138471856178";
"line_item_id" = "6707237225";
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
Các thuộc tính của GADResponseInfo
bao gồm:
| Thuộc tính | Mô tả |
|---|---|
adNetworkInfoArray |
Trả về danh sách GADAdNetworkResponseInfo chứa siêu dữ liệu cho từng bộ chuyển đổi có trong lượt phản hồi quảng cáo. Bạn có thể sử dụng danh sách này để gỡ lỗi cách đặt giá thầu và cách thực thi quy trình dàn xếp kiểu thác nước. Thứ tự của
danh sách này khớp với thứ tự của quy trình dàn xếp kiểu thác nước cho yêu cầu quảng cáo này.
Xem bài viết Thông tin phản hồi của bộ chuyển đổi để biết thêm thông tin. |
loadedAdNetworkResponseInfo |
Trả về GADAdNetworkResponseInfo tương ứng với bộ chuyển đổi
đã tải quảng cáo. |
adNetworkClassName |
Trả về tên lớp bộ chuyển đổi dàn xếp của mạng quảng cáo đã tải quảng cáo. |
responseIdentifier |
Giá trị nhận dạng lượt phản hồi là giá trị nhận dạng duy nhất của lượt phản hồi quảng cáo. Hệ thống có thể sử dụng giá trị nhận dạng này để xác định và chặn quảng cáo trong Trung tâm xem xét quảng cáo (ARC). |
extrasDictionary |
Trả về thông tin bổ sung về lượt phản hồi quảng cáo. Thông tin bổ sung có thể trả về các khoá sau:
|
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let responseIdentifier = responseInfo?.responseIdentifier let adNetworkClassName = responseInfo?.adNetworkClassName let adNetworkInfoArray = responseInfo?.adNetworkInfoArray let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo let creativeID = responseInfo?.extrasDictionary["creative_id"] let lineItemID = responseInfo?.extrasDictionary["line_item_id"] } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; NSString *responseIdentifier = responseInfo.responseIdentifier; NSString *adNetworkClassName = responseInfo.adNetworkClassName; NSArray *adNetworkInfoArray = responseInfo.adNetworkInfoArray; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; NSString *creativeID = responseInfo.extrasDictionary[@"creative_id"]; NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"]; }]; }
Thông tin phản hồi của bộ chuyển đổi
GADAdNetworkResponseInfo
chứa siêu dữ liệu cho mỗi bộ chuyển đổi có trong lượt phản hồi quảng cáo. Bạn có thể sử dụng siêu dữ liệu này để gỡ lỗi cho cách thực thi quy trình dàn xếp kiểu thác nước và cách đặt giá thầu. Thứ tự của danh sách này khớp với thứ tự của quy trình dàn xếp kiểu thác nước cho yêu cầu quảng cáo.
Sau đây là kết quả GADAdNetworkResponseInfo mẫu:
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
Đối với mỗi mạng quảng cáo, GADAdNetworkResponseInfo sẽ cung cấp các thuộc tính sau:
| Thuộc tính | Mô tả |
|---|---|
error |
Lỗi liên quan đến yêu cầu được gửi tới mạng. Trả về
nil nếu mạng đã tải quảng cáo thành công hoặc nếu mạng
chưa thử tải quảng cáo. |
adSourceId |
Mã nguồn quảng cáo liên quan đến nội dung phản hồi của bộ chuyển đổi này. |
adSourceInstanceId |
Mã bản sao nguồn quảng cáo liên quan đến nội dung phản hồi của bộ chuyển đổi này. |
adSourceInstanceName |
Tên bản sao nguồn quảng cáo liên quan đến nội dung phản hồi của bộ chuyển đổi này. Trả về một chuỗi trống nếu nhóm lợi nhuận không điền. |
adSourceName |
Nguồn quảng cáo đại diện cho mạng quảng cáo cụ thể phân phát lượt hiển thị. |
adNetworkClassName |
Tên lớp của bộ chuyển đổi mạng quảng cáo đã tải quảng cáo. |
adUnitMapping |
Cấu hình mạng được đặt trên giao diện người dùng Ad Manager. |
latency |
Thời lượng mà mạng quảng cáo cần để tải một quảng cáo. Trả về
0 nếu mạng chưa thử tải quảng cáo. |
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo let adNetworkError = loadedAdNetworkResponseInfo?.error let adSourceId = loadedAdNetworkResponseInfo?.adSourceID let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName let adSourceName = loadedAdNetworkResponseInfo?.adSourceName let adNetworkClassName = loadedAdNetworkResponseInfo?.adNetworkClassName let adUnitMapping = loadedAdNetworkResponseInfo?.adUnitMapping let latency = loadedAdNetworkResponseInfo?.latency } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; NSError *adNetworkError = loadedAdNetworkResponseInfo.error; NSString *adSourceId = loadedAdNetworkResponseInfo.adSourceID; NSString *adSourceInstanceId = loadedAdNetworkResponseInfo.adSourceInstanceID; NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName; NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName; NSString *adNetworkClassName = loadedAdNetworkResponseInfo.adNetworkClassName; NSDictionary*adUnitMapping = loadedAdNetworkResponseInfo.adUnitMapping; NSTimeInterval latency = loadedAdNetworkResponseInfo.latency; }]; }