Recupera información sobre la respuesta de solicitud de anuncio

Después de que un anuncio se cargue o no, inspecciona el objeto ResponseInfo. Este objeto detalla el anuncio cargado y los metadatos sobre la cascada de mediación que se usó para procesar la solicitud.

Si un anuncio se carga correctamente, la instancia del anuncio contiene un método getResponseInfo. Por ejemplo, el método interstitialAd.getResponseInfo devuelve la información de la respuesta de un objeto InterstitialAd cargado.

Si un anuncio no se carga, accede a la propiedad opcional responseInfo en el objeto LoadAdError, por ejemplo, error.responseInfo.

Inspecciona el objeto de información de la respuesta

El objeto ResponseInfo proporciona detalles de diagnóstico que se devuelven de una solicitud de anuncio.

En el siguiente ejemplo, se muestra el resultado de la información de respuesta de un anuncio cargado:

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

El objeto ResponseInfo proporciona las siguientes propiedades:

Propiedad Tipo Descripción
adSourceResponses readonly AdSourceResponseInfo[] Es una lista de objetos AdSourceResponseInfo que representan cada intento de fuente de anuncios en la cascada de mediación.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Son los metadatos del adaptador de fuente de anuncios que cargó el anuncio correctamente. Si el anuncio no se cargó, este valor es undefined.
responseExtras Readonly<Record<string, unknown>> Son los metadatos adicionales que devuelve la respuesta de solicitud de anuncio, como la clave mediation_group_name.
responseId string Es un identificador único para la respuesta de solicitud de anuncio. Usa este ID para identificar los anuncios que se deben bloquear en el Centro de revisión de anuncios (ARC).

Lee la información de la respuesta de la fuente de anuncios

El objeto AdSourceResponseInfo proporciona metadatos para un adaptador incluido en la respuesta de solicitud de anuncio. Estos objetos se enumeran en el orden de llamada de cada fuente de anuncios en la cascada de mediación.

En el siguiente ejemplo, se muestra el resultado de la información de respuesta de la fuente de anuncios para un anuncio cargado:

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
}

Para cada fuente de anuncios, AdSourceResponseInfo proporciona las siguientes propiedades:

Propiedad Tipo Descripción
adapterClassName string Es el nombre de la clase del adaptador de la red de publicidad.
credentials Readonly<Record<string, string>> Son los parámetros del servidor que se configuraron en la IU de AdMob para este adaptador.
id string Es el ID único de la fuente de anuncios.
instanceId string Es el ID único de la instancia de fuente de anuncios.
instanceName string Es el nombre de la instancia de la fuente de anuncios.
latencyMillis number Es el tiempo en milisegundos que tardó el intento de conexión de red.
mediationAdError MediationAdError | undefined Si el intento de conexión de red falló, esta propiedad describe el error. Si se realiza correctamente, este valor es undefined.
name string Es el nombre de la fuente de anuncios, por ejemplo, "Reservation campaign".

Registra la información completa de la respuesta

En esta sección, se explica cómo implementar la inspección de la información completa de la respuesta de un anuncio cargado.

En el siguiente ejemplo, se registra y se inspecciona la información de respuesta cuando un anuncio se carga o no se carga:

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