Recuperar informações sobre a resposta do anúncio

Depois que um anúncio for carregado ou não, inspecione o objeto ResponseInfo. Esse objeto detalha o anúncio carregado e os metadados sobre a hierarquia de mediação usada para processar a solicitação.

Se um anúncio for carregado, a instância dele vai conter um método getResponseInfo. Por exemplo, o método interstitialAd.getResponseInfo retorna as informações de resposta de um objeto InterstitialAd carregado.

Se um anúncio não for carregado, acesse a propriedade opcional responseInfo no objeto LoadAdError, por exemplo, error.responseInfo.

Inspecionar o objeto de informações de resposta

O objeto ResponseInfo fornece detalhes de diagnóstico retornados de uma solicitação de anúncio.

O exemplo a seguir mostra a saída de informações de resposta de um anúncio carregado:

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

O objeto ResponseInfo fornece as seguintes propriedades:

Propriedade Tipo Descrição
adSourceResponses readonly AdSourceResponseInfo[] Uma lista de objetos AdSourceResponseInfo que representam cada tentativa de origem de anúncios na hierarquia de mediação.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Metadados do adaptador da origem que carregou o anúncio. Se o anúncio não foi carregado, esse valor é undefined.
responseExtras Readonly<Record<string, unknown>> Metadados extras que a resposta do anúncio retorna, como a chave mediation_group_name.
responseId string Um identificador exclusivo para a resposta do anúncio. Use esse ID para identificar anúncios de bloqueio na Central de Revisão de Anúncios (ARC, na sigla em inglês).

Ler as informações de resposta da origem de anúncios

O objeto AdSourceResponseInfo fornece metadados para um adaptador incluído na resposta do anúncio. Esses objetos são listados na ordem de chamada de cada origem de anúncios na hierarquia de mediação.

O exemplo a seguir mostra a saída de informações de resposta da origem de anúncios para um anúncio carregado:

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 origem de anúncios, AdSourceResponseInfo fornece as seguintes propriedades:

Propriedade Tipo Descrição
adapterClassName string O nome da classe do adaptador da rede de publicidade.
credentials Readonly<Record<string, string>> Parâmetros do lado do servidor configurados na interface da AdMob para esse adaptador.
id string O ID exclusivo da origem de anúncios.
instanceId string O ID exclusivo da instância de origem de anúncios.
instanceName string O nome da instância da origem de anúncios.
latencyMillis number O tempo em milissegundos que a tentativa de rede levou.
mediationAdError MediationAdError | undefined Se a tentativa de rede falhar, essa propriedade vai descrever o erro. Se a operação for bem-sucedida, esse valor será undefined.
name string O nome da origem de anúncios, por exemplo, "Reservation campaign".

Registrar as informações completas da resposta

Nesta seção, abordamos uma implementação para inspecionar as informações completas de resposta de um anúncio carregado.

O exemplo a seguir registra e inspeciona as informações de resposta quando um anúncio é carregado ou não:

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