Récupérer des informations sur la réponse d'annonce

Une fois qu'une annonce s'est chargée ou n'a pas pu se charger, inspectez l'objet ResponseInfo. Cet objet détaille l'annonce chargée et les métadonnées de la cascade de médiation utilisée pour traiter la demande.

Si une annonce se charge correctement, l'instance d'annonce contient une méthode getResponseInfo. Par exemple, la méthode interstitialAd.getResponseInfo renvoie les informations de réponse pour un objet InterstitialAd chargé.

Si le chargement d'une annonce échoue, accédez à la propriété facultative responseInfo de l'objet LoadAdError, par exemple error.responseInfo.

Inspecter l'objet d'informations de réponse

L'objet ResponseInfo fournit des informations de diagnostic renvoyées par une demande d'annonce.

L'exemple suivant montre les informations de réponse affichées pour une annonce chargée :

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'objet ResponseInfo fournit les propriétés suivantes :

Propriété Type Description
adSourceResponses readonly AdSourceResponseInfo[] Liste d'objets AdSourceResponseInfo représentant chaque tentative de source d'annonce dans la cascade de la médiation.
loadedAdSourceResponseInfo AdSourceResponseInfo | undefined Métadonnées de l'adaptateur de la source d'annonce qui a chargé l'annonce. Si l'annonce n'a pas été chargée, cette valeur est undefined.
responseExtras Readonly<Record<string, unknown>> Métadonnées supplémentaires renvoyées par la réponse d'annonce, telles que la clé mediation_group_name.
responseId string Identifiant unique de la réponse d'annonce. Utilisez cet ID pour identifier les annonces bloquantes dans le Centre de vérification des annonces.

Lire les informations de réponse de la source d'annonce

L'objet AdSourceResponseInfo fournit des métadonnées pour un adaptateur inclus dans la réponse d'annonce. Ces objets sont listés dans l'ordre d'appel de chaque source d'annonce dans la cascade de la médiation.

L'exemple suivant montre les informations de réponse de la source d'annonce pour une annonce chargée :

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
}

Pour chaque source d'annonce, AdSourceResponseInfo fournit les propriétés suivantes :

Propriété Type Description
adapterClassName string Nom de classe de l'adaptateur du réseau publicitaire.
credentials Readonly<Record<string, string>> Paramètres côté serveur configurés dans l'UI AdMob pour cet adaptateur.
id string Identifiant unique de la source d'annonce.
instanceId string Identifiant unique de l'instance de source d'annonces.
instanceName string Nom de l'instance de la source d'annonces.
latencyMillis number Temps nécessaire à la tentative de connexion réseau, en millisecondes.
mediationAdError MediationAdError | undefined Si la tentative de connexion au réseau a échoué, cette propriété décrit l'erreur. Si l'opération réussit, cette valeur est undefined.
name string Nom de la source d'annonce, par exemple "Reservation campaign".

Enregistrer les informations complètes de la réponse

Cette section explique comment inspecter les informations de réponse complètes d'une annonce chargée.

L'exemple suivant consigne et inspecte les informations de réponse lorsqu'une annonce se charge ou ne se charge pas :

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