Để 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 ResponseInfo
. Đố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()
sẽ 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ó một lỗi, bạn có thể xem thông tin phản hồi 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
Kết quả mẫu sau đây 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ả |
---|---|
getAdapterResponses |
Trả về danh sách
AdapterResponseInfo chứa siêu dữ liệu cho từng bộ chuyển đổi có trong nội dung 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 thực thi quy trình đặt giá thầu và 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. |
getLoadedAdapterResponseInfo |
Trả về AdapterResponseInfo tương ứng với bộ chuyển đổi đã tải quảng cáo. |
getMediationAdapterClassName
|
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 nội dung phản hồi là 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). |
getResponseExtras |
Trả về thông tin bổ sung về nội dung phản hồi quảng cáo. Phương thức khác có thể trả về các khoá sau:
|
Kotlin
override fun onAdLoaded(interstitialAd: InterstitialAd)) {
val responseInfo = interstitialAd.responseInfo
val responseId = responseInfo.responseId
val mediationAdapterClassName = responseInfo.mediationAdapterClassName
val adapterResponses = responseInfo.adapterResponses
val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
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 mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
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 bộ chuyển đổi
AdapterResponseInfo
chứa thông tin phản hồi cho một nguồn quảng cáo riêng lẻ trong một phản hồi quảng cáo.
Kết quả AdapterResponseInfo
mẫu sau đây cho thấy siêu dữ liệu của 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, AdapterResponseInfo
sẽ 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 được thử tải. |
getAdSourceId |
Xem 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.
Đố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, còn 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 một nguồn quảng cáo phân phát quảng cáo. |
getAdSourceInstanceId |
Xem 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. |
getAdSourceInstanceName |
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. |
getAdSourceName |
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 một nguồn quảng cáo phân phát quảng cáo. |
getAdapterClassName |
Lấy tên lớp của bộ chuyển đổi nguồn quảng cáo đã tải quảng cáo. |
getCredentials |
Lấy thông tin xác thực 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 được thử. |
Kotlin
override fun onAdLoaded(interstitialAd: InterstitialAds) {
val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponseInfo
val adError = loadedAdapterResponseInfo.adError
val adSourceId = loadedAdapterResponseInfo.adSourceId
val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
val adSourceName = loadedAdapterResponseInfo.adSourceName
val adapterClassName = loadedAdapterResponseInfo.adapterClassName
val credentials = loadedAdapterResponseInfo.credentials
val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}
Java
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
AdapterResponseInfo loadedAdapterResponseInfo =
interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();
AdError adError = loadedAdapterResponseInfo.getAdError();
String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
Bundle credentials = loadedAdapterResponseInfo.getCredentials();
long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}