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 a ResponseInfo đố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 phương thức getResponseInfo(). Ví dụ: InterstitialAd.getResponseInfo() nhận thông tin phản hồi về quảng cáo xen kẽ đã tải.

Trong trường hợp quảng cáo không tải được và chỉ có lỗi, thông tin phản hồi sẽ có sẵn thông qua LoadAdError.getResponseInfo().

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

Thông tin phản hồi

Sau đây là kết quả mẫu do ResponseInfo.toString() trả về, thể hiện dữ liệu gỡ lỗi được trả về cho một quảng cáo đã tải:

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

Các phương thức trên đối tượng ResponseInfo bao gồm:

Phương thức Mô tả
getAdSourceResponses Trả về danh sách AdSourceResponseInfo chứa siêu dữ liệu cho từng nguồn quảng cáo 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 nguồn quảng cáo để biết thêm thông tin.

getLoadedAdSourceResponse Trả về AdSourceResponseInfo tương ứng với nguồn quảng cáo đã tải quảng cáo.
getAdapterClassName Trả về tên lớp bộ chuyển đổi dàn xếp của nguồn quảng cáo đã tải quảng cáo.
getResponseId 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. Bạn 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).
getResponseExtras 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:
  • mediation_group_name: Tên của nhóm dàn xếp
  • mediation_ab_test_name: Tên của thử nghiệm A/B cho tính năng dàn xếp, (nếu có)
  • mediation_ab_test_variant: Biến thể được sử dụng trong thử nghiệm A/B cho tính năng dàn xếp (nếu có)

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val adapterClassName = responseInfo.adapterClassName
  val adSourceResponses = responseInfo.adSourceResponses
  val loadedAdSourceResponse = responseInfo.loadedAdSourceResponse
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String adapterClassName = responseInfo.getAdapterClassName();
  List<AdSourceResponseInfo> adSourceResponses = responseInfo.getAdSourceResponses();
  AdSourceResponseInfo loadedAdSourceResponse = responseInfo.getLoadedAdSourceResponse();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

Thông tin phản hồi của nguồn quảng cáo

AdSourceResponseInfo chứa thông tin phản hồi cho từng nguồn quảng cáo trong lượt phản hồi quảng cáo.

Kết quả AdSourceResponseInfo mẫu sau đây cho thấy siêu dữ liệu cho một quảng cáo đã tải:

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

Đối với mỗi nguồn quảng cáo, AdSourceResponseInfo cung cấp các phương thức sau:

Phương thức Mô tả
getAdError Xem lỗi liên quan đến yêu cầu được gửi tới nguồn quảng cáo. Trả về null nếu nguồn quảng cáo đã tải quảng cáo thành công hoặc nếu nguồn quảng cáo chưa thử tải quảng cáo.
getId Xem mã nguồn quảng cáo liên quan đến nội dung phản hồi của nguồn quảng cáo này. Đối với chiến dịch, 6060308706800320801 được trả về cho loại mục tiêu chiến dịch của quảng cáo đã dàn xếp, và 7068401028668408324 được trả về cho loại mục tiêu lượt hiển thị và lượt nhấp. Xem mục Nguồn quảng cáo để biết danh sách mã nguồn quảng cáo có thể có khi nguồn quảng cáo phân phát quảng cáo.
getInstanceId Xem mã bản sao nguồn quảng cáo liên quan đến bộ chuyển đổi này.
getInstanceName Xem 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.
getName Xem tên 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. Đối với chiến dịch, Mediated House Ads được trả về cho loại mục tiêu chiến dịch của quảng cáo đã dàn xếp, còn Reservation Campaign được trả về cho loại mục tiêu lượt hiển thị và lượt nhấp. Xem mục Nguồn quảng cáo để biết danh sách tên nguồn quảng cáo có thể có khi nguồn quảng cáo phân phát quảng cáo.
getAdapterClassName Xem tên lớp của bộ chuyển đổi nguồn quảng cáo đã tải quảng cáo.
getCredentials Xem thông tin đăng nhập của bộ chuyển đổi nguồn quảng cáo được chỉ định trong giao diện người dùng AdMob.
getLatencyMillis Xem thời lượng mà bộ chuyển đổi nguồn quảng cáo cần để tải một quảng cáo. Trả về 0 nếu nguồn quảng cáo chưa thử tải quảng cáo.

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdSourceResponseInfo = interstitialAd.responseInfo.loadedAdSourceResponse

  val adError = loadedAdSourceResponseInfo.adError
  val adSourceId = loadedAdSourceResponseInfo.id
  val adSourceInstanceId = loadedAdSourceResponseInfo.instanceId
  val adSourceInstanceName = loadedAdSourceResponseInfo.instanceName
  val adSourceName = loadedAdSourceResponseInfo.name
  val adapterClassName = loadedAdSourceResponseInfo.adapterClassName
  val credentials = loadedAdSourceResponseInfo.credentials
  val latencyMillis = loadedAdSourceResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdSourceResponseInfo loadedAdSourceResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdSourceResponse();

  AdError adError = loadedAdSourceResponseInfo.getAdError();
  String adSourceId = loadedAdSourceResponseInfo.getId();
  String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
  String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
  String adSourceName = loadedAdSourceResponseInfo.getName();
  String adapterClassName = loadedAdSourceResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdSourceResponseInfo.getCredentials();
  long latencyMillis = loadedAdSourceResponseInfo.getLatencyMillis();
}