Mengambil informasi tentang respons iklan

Setelah iklan dimuat atau gagal dimuat, periksa objek ResponseInfo. Objek ini menjelaskan iklan yang dimuat dan metadata tentang waterfall mediasi yang digunakan untuk memproses permintaan.

Jika iklan berhasil dimuat, instance iklan akan berisi metode getResponseInfo. Misalnya, metode interstitialAd.getResponseInfo menampilkan info respons untuk objek InterstitialAd yang dimuat.

Jika iklan gagal dimuat, akses properti responseInfo opsional pada objek LoadAdError, misalnya, error.responseInfo.

Memeriksa objek info respons

Objek ResponseInfo memberikan detail diagnostik yang ditampilkan dari permintaan iklan.

Contoh berikut menunjukkan output info respons untuk iklan yang dimuat:

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

Objek ResponseInfo menyediakan properti berikut:

Properti Jenis Deskripsi
adSourceResponses readonly AdSourceResponseInfo[] Daftar objek AdSourceResponseInfo yang mewakili setiap upaya sumber iklan dalam waterfall mediasi.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Metadata untuk adaptor sumber iklan yang berhasil memuat iklan. Jika iklan tidak dimuat, nilai ini adalah undefined.
responseExtras Readonly<Record<string, unknown>> Metadata tambahan yang ditampilkan respons iklan, seperti kunci mediation_group_name.
responseId string ID unik untuk respons iklan. Gunakan ID ini untuk mengidentifikasi iklan yang diblokir di Pusat Peninjauan Iklan (ARC).

Membaca info respons sumber iklan

Objek AdSourceResponseInfo menyediakan metadata untuk adaptor yang disertakan dalam respons iklan. Objek ini dicantumkan dalam urutan panggilan setiap sumber iklan di waterfall mediasi.

Contoh berikut menunjukkan output info respons sumber iklan untuk iklan yang dimuat:

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
}

Untuk setiap sumber iklan, AdSourceResponseInfo menyediakan properti berikut:

Properti Jenis Deskripsi
adapterClassName string Nama class adaptor jaringan iklan.
credentials Readonly<Record<string, string>> Parameter sisi server yang dikonfigurasi di UI AdMob untuk adaptor ini.
id string ID unik sumber iklan.
instanceId string ID unik instance sumber iklan.
instanceName string Nama instance sumber iklan.
latencyMillis number Waktu dalam milidetik yang diperlukan untuk percobaan koneksi jaringan.
mediationAdError MediationAdError | undefined Jika upaya jaringan gagal, properti ini menjelaskan error tersebut. Jika berhasil, nilai ini adalah undefined.
name string Nama sumber iklan, misalnya, "Reservation campaign".

Mencatat info respons lengkap ke dalam log

Bagian ini membahas penerapan untuk memeriksa info respons lengkap untuk iklan yang dimuat.

Contoh berikut mencatat dan memeriksa info respons saat iklan dimuat atau gagal dimuat:

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