Sau khi quảng cáo tải hoặc không tải được, hãy kiểm tra đối tượng ResponseInfo. Đối tượng này trình bày chi tiết về quảng cáo đã tải
và siêu dữ liệu về quy trình dàn xếp kiểu thác nước được dùng để xử lý yêu cầu.
Nếu quảng cáo tải thành công, thì thực thể quảng cáo sẽ chứa phương thức
getResponseInfo. Ví dụ: phương thức interstitialAd.getResponseInfo trả về thông tin phản hồi cho đối tượng InterstitialAd đã tải.
Nếu quảng cáo không tải được, hãy truy cập vào thuộc tính không bắt buộc responseInfo trên đối tượng LoadAdError, ví dụ: error.responseInfo.
Kiểm tra đối tượng thông tin phản hồi
Đối tượng ResponseInfo cung cấp thông tin chẩn đoán chi tiết được trả về từ một yêu cầu quảng cáo.
Ví dụ sau đây cho thấy kết quả thông tin phản hồi về một quảng cáo đã tải:
Android
{
"responseId": "COOllLGxlPoCFdAx4Aod-Q4A0g",
"responseExtras": {},
"loadedAdSourceResponseInfo": {
"adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
},
"adSourceResponses": [
{
"adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
}
]
}
iOS
{
"responseId": "COOllLGxlPoCFdAx4Aod-Q4A0g",
"responseExtras": {},
"loadedAdSourceResponseInfo": {
"adapterClassName": "GADMAdapterGoogleAdMobAds",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
},
"adSourceResponses": [
{
"adapterClassName": "GADMAdapterGoogleAdMobAds",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
}
]
}
Đối tượng ResponseInfo cung cấp các thuộc tính sau:
| Thuộc tính | Loại | Mô tả |
|---|---|---|
adSourceResponses |
readonly AdSourceResponseInfo[] |
Danh sách các đối tượng AdSourceResponseInfo đại diện cho mỗi lần thử nguồn quảng cáo trong quy trình dàn xếp kiểu thác nước. |
loadedAdSourceResponseInfo |
AdSourceResponseInfo | undefined |
Siêu dữ liệu cho bộ chuyển đổi nguồn quảng cáo đã tải quảng cáo thành công. Nếu quảng cáo không tải, giá trị này là undefined. |
responseExtras |
Readonly<Record<string, unknown>> |
Siêu dữ liệu bổ sung mà phản hồi quảng cáo trả về, chẳng hạn như khoá mediation_group_name. |
responseId |
string |
Giá trị nhận dạng riêng biệt của nội dung phản hồi quảng cáo. Sử dụng mã nhận dạng này để xác định quảng cáo chặn trong Trung tâm xem xét quảng cáo (ARC). |
Đọc thông tin phản hồi của nguồn quảng cáo
Đối tượng AdSourceResponseInfo cung cấp
siêu dữ liệu cho một bộ chuyển đổi có trong nội dung phản hồi quảng cáo. Các đối tượng này được liệt kê
theo thứ tự gọi của từng nguồn quảng cáo trong quy trình dàn xếp kiểu thác nước.
Ví dụ sau đây cho thấy kết quả thông tin phản hồi của nguồn quảng cáo cho một quảng cáo đã tải:
Android
{
"adapterClassName": "com.google.ads.mediation.admob.AdMobAdapter",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
}
iOS
{
"adapterClassName": "GADMAdapterGoogleAdMobAds",
"latencyMillis": 328,
"name": "Reservation campaign",
"id": "7068401028668408324",
"instanceName": "[DO NOT EDIT] Publisher Test Interstitial",
"instanceId": "4665218928925097",
"credentials": {},
"mediationAdError": null
}
Đối với mỗi nguồn quảng cáo, AdSourceResponseInfo sẽ cung cấp các thuộc tính sau:
| Thuộc tính | Loại | Mô tả |
|---|---|---|
adapterClassName |
string |
Tên lớp của bộ chuyển đổi mạng quảng cáo. |
credentials |
Readonly<Record<string, string>> |
Các tham số phía máy chủ được định cấu hình trong giao diện người dùng AdMob cho bộ chuyển đổi này. |
id |
string |
Mã nhận dạng duy nhất của nguồn quảng cáo. |
instanceId |
string |
Mã nhận dạng duy nhất của phiên bản nguồn quảng cáo. |
instanceName |
string |
Tên của phiên bản nguồn quảng cáo. |
latencyMillis |
number |
Thời gian (tính bằng mili giây) để thực hiện nỗ lực kết nối mạng. |
mediationAdError |
MediationAdError | undefined |
Nếu mạng không tải được quảng cáo, thì thuộc tính này sẽ mô tả lỗi. Nếu thành công, giá trị này là undefined. |
name |
string |
Tên của nguồn quảng cáo, ví dụ: "Reservation campaign". |
Ghi lại thông tin phản hồi đầy đủ
Phần này trình bày cách triển khai để kiểm tra thông tin phản hồi đầy đủ cho một quảng cáo đã tải.
Ví dụ sau đây ghi nhật ký và kiểm tra thông tin phản hồi khi quảng cáo tải hoặc không tải được:
import {InterstitialAd, LoadAdError} from '@google/mobile-ads';
import type {AdSourceResponseInfo, ResponseInfo} from '@google/mobile-ads';
export async function logResponseInfo(adUnitId: string): Promise<void> {
try {
const interstitial = await InterstitialAd.load({adUnitId});
const responseInfo: ResponseInfo = interstitial.getResponseInfo();
console.log('Ad Loaded Response ID:', responseInfo.responseId);
console.log(
'Loaded Adapter Class Name:',
responseInfo.loadedAdSourceResponseInfo?.adapterClassName,
);
// Inspect each ad source response in the mediation waterfall
responseInfo.adSourceResponses.forEach(
(adSourceResponse: AdSourceResponseInfo, index: number) => {
console.log(
`Waterfall index ${index}:`,
adSourceResponse.adapterClassName,
`Latency: ${adSourceResponse.latencyMillis}ms`,
adSourceResponse.mediationAdError
? `Error: ${adSourceResponse.mediationAdError.message}`
: 'Success',
);
},
);
} catch (error) {
if (error instanceof LoadAdError) {
console.error('Ad failed to load:', error.message);
if (error.responseInfo) {
console.log('Failed Response ID:', error.responseInfo.responseId);
}
}
}
}