Recuperare informazioni sulla risposta di annuncio

Dopo il caricamento o il mancato caricamento di un annuncio, esamina l'oggetto ResponseInfo. Questo oggetto descrive l'annuncio caricato e i metadati relativi alla cascata della mediazione utilizzata per elaborare la richiesta.

Se un annuncio viene caricato correttamente, l'istanza dell'annuncio contiene un metodo getResponseInfo. Ad esempio, il metodo interstitialAd.getResponseInfo restituisce le informazioni sulla risposta per un oggetto InterstitialAd caricato.

Se un annuncio non viene caricato, accedi alla proprietà facoltativa responseInfo nell'oggetto LoadAdError, ad esempio error.responseInfo.

Esamina l'oggetto delle informazioni sulla risposta

L'oggetto ResponseInfo fornisce i dettagli diagnostici restituiti da una richiesta di annuncio.

L'esempio seguente mostra l'output delle informazioni sulla risposta per un annuncio caricato:

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

L'oggetto ResponseInfo fornisce le seguenti proprietà:

Proprietà Tipo Descrizione
adSourceResponses readonly AdSourceResponseInfo[] Un elenco di oggetti AdSourceResponseInfo che rappresentano ogni tentativo dell'origine annuncio nella cascata della mediazione.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Metadati dell'adattatore dell'origine annuncio che ha caricato correttamente l'annuncio. Se l'annuncio non è stato caricato, questo valore è undefined.
responseExtras Readonly<Record<string, unknown>> Metadati aggiuntivi restituiti dalla risposta all'annuncio, ad esempio la chiave mediation_group_name.
responseId string Un identificatore univoco della risposta annuncio. Utilizza questo ID per identificare gli annunci bloccati nel Centro revisione annunci (ARC).

Leggi le informazioni sulla risposta dell'origine annuncio

L'oggetto AdSourceResponseInfo fornisce i metadati per un adattatore incluso nella risposta all'annuncio. Questi oggetti sono elencati nell'ordine di chiamata di ogni origine annuncio nella cascata della mediazione.

L'esempio seguente mostra l'output delle informazioni sulla risposta dell'origine annuncio per un annuncio caricato:

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
}

Per ogni origine annuncio, AdSourceResponseInfo fornisce le seguenti proprietà:

Proprietà Tipo Descrizione
adapterClassName string Il nome della classe dell'adattatore della rete pubblicitaria.
credentials Readonly<Record<string, string>> Parametri lato server configurati nell'interfaccia utente di AdMob per questo adattatore.
id string L'ID univoco dell'origine annuncio.
instanceId string L'ID univoco dell'istanza di origine annuncio.
instanceName string Il nome dell'istanza dell'origine annuncio.
latencyMillis number Il tempo in millisecondi impiegato per il tentativo di connessione alla rete.
mediationAdError MediationAdError | undefined Se il tentativo di connessione alla rete non è andato a buon fine, questa proprietà descrive l'errore. Se l'operazione ha esito positivo, questo valore è undefined.
name string Il nome dell'origine annuncio, ad esempio "Reservation campaign".

Registra le informazioni complete sulla risposta

Questa sezione illustra un'implementazione per esaminare le informazioni complete sulla risposta per un annuncio caricato.

Il seguente esempio registra e ispeziona le informazioni sulla risposta quando un annuncio viene caricato o non viene caricato:

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