ดึงข้อมูลเกี่ยวกับการตอบกลับของโฆษณา

หลังจากโฆษณาโหลดหรือโหลดไม่สำเร็จ ให้ตรวจสอบออบเจ็กต์ ResponseInfo ออบเจ็กต์นี้จะแสดงรายละเอียดโฆษณาที่โหลดและข้อมูลเมตาเกี่ยวกับการแสดงโฆษณาสื่อกลางตามลำดับขั้นที่ใช้ในการประมวลผลคำขอ

หากโหลดโฆษณาสำเร็จ อินสแตนซ์โฆษณาจะมีเมธอด getResponseInfo เช่น เมธอด interstitialAd.getResponseInfo จะแสดงผลข้อมูลการตอบกลับสำหรับออบเจ็กต์ InterstitialAd ที่โหลด

หากโหลดโฆษณาไม่สำเร็จ ให้เข้าถึงพร็อพเพอร์ตี้ responseInfo ที่ไม่บังคับในออบเจ็กต์ LoadAdError เช่น error.responseInfo

ตรวจสอบออบเจ็กต์ข้อมูลการตอบกลับ

ออบเจ็กต์ ResponseInfo จะแสดงรายละเอียดการวินิจฉัยที่ได้จากคำขอโฆษณา

ตัวอย่างต่อไปนี้แสดงเอาต์พุตข้อมูลการตอบกลับสำหรับโฆษณาที่โหลด

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
    }
  ]
}

ออบเจ็กต์ ResponseInfo มีพร็อพเพอร์ตี้ต่อไปนี้

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
adSourceResponses readonly AdSourceResponseInfo[] รายการออบเจ็กต์ AdSourceResponseInfo รายการที่แสดงการพยายามเรียกใช้แหล่งที่มาของโฆษณาแต่ละแหล่งในการแสดงโฆษณาสื่อกลางตามลำดับขั้น
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined ข้อมูลเมตาของอะแดปเตอร์แหล่งที่มาของโฆษณาที่โหลดโฆษณาสำเร็จ หากโฆษณาไม่โหลด ค่านี้จะเป็น undefined
responseExtras Readonly<Record<string, unknown>> ข้อมูลเมตาเพิ่มเติมที่การตอบกลับโฆษณาส่งกลับมา เช่น คีย์ mediation_group_name
responseId string ตัวระบุที่ไม่ซ้ำกันสำหรับการตอบกลับโฆษณา ใช้รหัสนี้เพื่อระบุโฆษณาที่บล็อกในศูนย์ตรวจสอบโฆษณา (ARC)

อ่านข้อมูลการตอบกลับของแหล่งที่มาของโฆษณา

ออบเจ็กต์ AdSourceResponseInfo จะให้ข้อมูลเมตาสำหรับอะแดปเตอร์ที่รวมอยู่ในการตอบกลับของโฆษณา ออบเจ็กต์เหล่านี้จะแสดงตามลำดับการเรียกใช้แหล่งที่มาของโฆษณาแต่ละแหล่งในการแสดงโฆษณาสื่อกลางตามลำดับขั้น

ตัวอย่างต่อไปนี้แสดงเอาต์พุตข้อมูลการตอบกลับของแหล่งที่มาของโฆษณาสำหรับโฆษณาที่โหลด

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
}

AdSourceResponseInfo จะระบุพร็อพเพอร์ตี้ต่อไปนี้สำหรับแหล่งที่มาของโฆษณาแต่ละแหล่ง

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
adapterClassName string ชื่อคลาสของอะแดปเตอร์เครือข่ายโฆษณา
credentials Readonly<Record<string, string>> พารามิเตอร์ฝั่งเซิร์ฟเวอร์ที่กำหนดค่าไว้ใน UI ของ AdMob สำหรับอะแดปเตอร์นี้
id string รหัสที่ไม่ซ้ำกันของแหล่งที่มาของโฆษณา
instanceId string รหัสที่ไม่ซ้ำกันของอินสแตนซ์แหล่งที่มาของโฆษณา
instanceName string ชื่ออินสแตนซ์ของแหล่งที่มาของโฆษณา
latencyMillis number เวลาเป็นมิลลิวินาทีที่ใช้ในการพยายามเชื่อมต่อเครือข่าย
mediationAdError MediationAdError | undefined หากการพยายามเชื่อมต่อเครือข่ายไม่สำเร็จ พร็อพเพอร์ตี้นี้จะอธิบายข้อผิดพลาด หากสำเร็จ ค่านี้จะเป็น undefined
name string ชื่อแหล่งที่มาของโฆษณา เช่น "Reservation campaign"

บันทึกข้อมูลการตอบกลับแบบเต็ม

ส่วนนี้ครอบคลุมการติดตั้งใช้งานเพื่อตรวจสอบข้อมูลการตอบกลับทั้งหมดสำหรับโฆษณาที่โหลด

ตัวอย่างต่อไปนี้จะบันทึกและตรวจสอบข้อมูลการตอบกลับเมื่อโฆษณาโหลดหรือโหลดไม่สำเร็จ

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);
      }
    }
  }
}