Truy xuất thông tin về Nội dung phản hồi quảng cáo

Để gỡ lỗi và ghi nhật ký, quảng cáo đã tải thành công sẽ cung cấp đối tượng GADResponseInfo. Đối tượng này chứa thông tin về quảng cáo đã tải. Mỗi lớp định dạng quảng cáo có một thuộc tính để nhận thông tin phản hồi. Ví dụ: trên quảng cáo xen kẽ, hãy sử dụng thuộc tính responseInfo.

Đố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ó sẵn bằng cách sử dụng khóa GADErrorUserInfoKeyResponseInfo trên từ điển userInfo của lỗi.

Swift

func adView(_ bannerView: GADBannerView,
    didFailToReceiveAdWithError error: GADRequestError) {
    let responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo
}

Objective-C

- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
  GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];
}

Thuộc tính thông tin phản hồi

Các thuộc tính của đối tượng GADResponseInfo bao gồm:

responseIdentifier
Giá trị nhận dạng duy nhất của nội dung 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).
adNetworkClassName
Tên lớp của mạng quảng cáo đã tìm nạp quảng cáo hiện tại. Thuộc tính này có thể trả về các giá trị sau:

Nguồn quảng cáo Tên nhóm
Google Ads Giá trị của GADGoogleAdNetworkClassName.
Sự kiện tùy chỉnh có tặng thưởng Tên lớp của sự kiện tùy chỉnh.
Tất cả các sự kiện tùy chỉnh khác Giá trị của GADCustomEventAdNetworkClassName.
Dàn xếp Tên lớp của bộ chuyển đổi dàn xếp.

adNetworkInfoArray

Một mảng của GADAdNetworkResponseInfo. Mảng này biểu thị nội dung phản hồi đã nhận được trong thác nước dàn xếp đối với yêu cầu quảng cáo.

Đối với mỗi mạng quảng cáo trong thác nước, GADAdNetworkResponseInfo sẽ cung cấp:

Thuộc tính Nội dung mô tả
adNetworkClassName Một tên lớp xác định mạng quảng cáo.
credentials Cấu hình mạng được đặt trên giao diện người dùng AdMob.
error Lỗi liên quan đến yêu cầu tới mạng. Rỗng nếu mạng đã tải quảng cáo thành công hoặc nếu mạng chưa thực hiện.
latency Lượng thời gian mà mạng quảng cáo đã tải quảng cáo. 0 nếu mạng chưa thực hiện.

Việc truy vấn thuộc tính này cho phép bạn tìm hiểu về kết quả của một thác nước dàn xếp cho mỗi yêu cầu quảng cáo.

Mã mẫu

Dưới đây là đoạn mã mẫu từ một lần triển khai lệnh gọi lại GADBannerViewDelegate:

Swift

func adViewDidReceiveAd(_ bannerView: GADBannerView) {
    print("adViewDidReceiveAd")
    if let responseInfo = bannerView.responseInfo {
      print(responseInfo)
    }
}

func adView(_ bannerView: GADBannerView,
    didFailToReceiveAdWithError error: GADRequestError) {
    print("didFailToReceiveAdWithError: \(error.localizedDescription)")
    // GADBannerView has the responseInfo property but this demonstrates accessing
    // response info from a returned NSError.
    if let responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo {
      print(responseInfo)
    }
}

Objective-C

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
  NSLog(@"adViewDidReceiveAd");
  NSLog(@"\n%@", responseInfo);
}

- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
  NSLog(@"didFailToReceiveAdWithError: %@", error.localizedDescription);
  // GADBannerView has the responseInfo property but this demonstrates accessing response info
  // from a returned NSError.
  GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];
  NSLog(@"\n%@", responseInfo);
}

Điều này sẽ in kết quả theo định dạng sau khi sử dụng SDK quảng cáo trên thiết bị di động của Google phiên bản 7.60.0 trở lên:

  ** Response Info **
    Response ID: 4a_iXpjAJcyN5LcPx6y4mAc
    Network: GADMAdapterGoogleAdMobAds

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Credentials:
{
}
    Error: (null)
    Latency: 0.252