Pobieranie informacji o odpowiedzi na reklamę

Po wczytaniu reklamy lub niepowodzeniu wczytywania sprawdź obiekt ResponseInfo. Ten obiekt zawiera szczegółowe informacje o załadowanej reklamie i metadane dotyczące kaskady zapośredniczenia użytej do przetworzenia żądania.

Jeśli reklama zostanie wczytana, jej wystąpienie zawiera metodę getResponseInfo. Na przykład metoda interstitialAd.getResponseInfo zwraca informacje o odpowiedzi dla wczytanego obiektu InterstitialAd.

Jeśli reklama nie wczyta się, uzyskaj dostęp do opcjonalnej właściwości responseInfo w obiekcie LoadAdError, np. error.responseInfo.

Sprawdzanie obiektu informacji o odpowiedzi

Obiekt ResponseInfo zawiera szczegółowe informacje diagnostyczne zwrócone w odpowiedzi na żądanie reklamy.

Poniższy przykład pokazuje dane wyjściowe z informacjami o odpowiedzi dla wczytanej reklamy:

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

Obiekt ResponseInfo udostępnia te właściwości:

Właściwość Typ Opis
adSourceResponses readonly AdSourceResponseInfo[] Lista obiektów AdSourceResponseInfo reprezentujących każdą próbę źródła reklam w kaskadzie zapośredniczenia.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Metadane adaptera źródła reklam, który wczytał reklamę. Jeśli reklama się nie wczytała, ta wartość wynosi undefined.
responseExtras Readonly<Record<string, unknown>> Dodatkowe metadane zwracane przez odpowiedź na reklamę, takie jak klucz mediation_group_name.
responseId string Unikalny identyfikator odpowiedzi na reklamę. Użyj tego identyfikatora, aby zidentyfikować blokowane reklamy w Centrum oceny reklam.

Odczytywanie informacji o odpowiedzi źródła reklam

Obiekt AdSourceResponseInfo zawiera metadane adaptera uwzględnionego w odpowiedzi na żądanie reklamy. Te obiekty są wymienione w kolejności wywoływania poszczególnych źródeł reklam w kaskadzie zapośredniczenia.

Poniższy przykład pokazuje dane wyjściowe informacji o odpowiedzi źródła reklam w przypadku wczytanej reklamy:

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
}

W przypadku każdego źródła reklam AdSourceResponseInfo podaje te właściwości:

Właściwość Typ Opis
adapterClassName string Nazwa klasy adaptera sieci reklamowej.
credentials Readonly<Record<string, string>> Parametry po stronie serwera skonfigurowane w interfejsie AdMob dla tego adaptera.
id string Unikalny identyfikator źródła reklam.
instanceId string Unikalny identyfikator wystąpienia źródła reklam.
instanceName string Nazwa instancji źródła reklam.
latencyMillis number Czas w milisekundach potrzebny na próbę połączenia z siecią.
mediationAdError MediationAdError | undefined Jeśli próba połączenia z siecią się nie powiodła, ta właściwość opisuje błąd. Jeśli operacja się powiedzie, ta wartość to undefined.
name string Nazwa źródła reklam, np. "Reservation campaign".

Zapisz w logu pełne informacje o odpowiedzi

W tej sekcji opisano implementację, która umożliwia sprawdzenie pełnych informacji o odpowiedzi dotyczącej wczytanej reklamy.

Poniższy przykład rejestruje i sprawdza informacje o odpowiedzi, gdy reklama się wczytuje lub nie udaje się jej wczytać:

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