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

À des fins de débogage et de journalisation, les annonces chargées avec succès fournissent un objet ResponseInfo. Cet objet contient des informations sur l'annonce qu'il a chargée, ainsi que des informations sur la cascade de médiation utilisée pour charger l'annonce.

Lorsqu'une annonce est chargée, l'objet de l'annonce dispose d'une méthode GetResponseInfo(). Par exemple, InterstitialAd.GetResponseInfo() obtient les informations de réponse pour une annonce interstitielle chargée.

Lorsque les annonces ne parviennent pas à se charger et qu'une seule erreur est disponible, les informations de réponse sont disponibles via AdFailedToLoadEventArgs.LoadAdError.GetResponseInfo().

InterstitialAd ad;

private void RequestInterstitial()
{
    ad = new InterstitialAd("AD_UNIT_ID");
    this.interstitial.OnAdLoaded += OnAdLoaded;
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    AdRequest request = new AdRequest.Builder().Build();
    this.interstitial.LoadAd(request);
}

private void OnAdLoaded(object sender, EventArgs args)
{
    ResponseInfo info = ad.GetResponseInfo();
}

private void OnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    ResponseInfo info = args.LoadAdError.GetResponseInfo();
}

Informations sur la réponse

Voici un exemple de sortie renvoyée par ResponseInfo.ToString(), qui montre les données de débogage renvoyées pour une annonce chargée :

Android

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

iOS

 ** Response Info **
    Response ID: CIzs0ZO5kPoCFRqWAAAdJMINpQ
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID: 7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

  ** Extras Dictionary **
    {
        "mediation_group_name" = Campaign;
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

Les méthodes de l'objet ResponseInfo incluent les suivantes :

Méthode Description
GetAdapterResponses Renvoie la liste des AdapterResponseInfo contenant des métadonnées pour chaque adaptateur inclus dans la réponse de l'annonce. Peut être utilisé pour déboguer la médiation de la cascade d'annonces et l'exécution des enchères. L'ordre de la liste correspond à celui de la cascade de médiation pour cette demande d'annonce.

Pour en savoir plus, consultez la section Informations sur la réponse de l'adaptateur.

GetLoadedAdapterResponseInfo Renvoie la AdapterResponseInfo correspondant à l'adaptateur qui a chargé l'annonce.
GetMediationAdapterClassName Renvoie le nom de classe de l'adaptateur de médiation associé au réseau publicitaire ayant chargé l'annonce.
GetResponseId L'identifiant de réponse est un identifiant unique pour la réponse d'annonce. Cet identifiant peut être utilisé pour identifier et bloquer l'annonce dans le Centre de vérification des annonces.
GetResponseExtras Affiche des informations supplémentaires sur la réponse d'annonce. Les extras peuvent renvoyer les clés suivantes :
  • mediation_group_name: nom du groupe de médiation
  • mediation_ab_test_name : nom du test A/B de médiation, le cas échéant
  • mediation_ab_test_variant : variante utilisée dans le test A/B de médiation, le cas échéant

Voici un exemple de valeurs de lecture à partir d'un ResponseInfo chargé :

private void OnAdLoaded(object sender, EventArgs args)
{
  ResponseInfo info = ad.GetResponseInfo();

  string responseId = responseInfo.GetResponseId();
  string mediationAdapterClassName = responseInfo.GetMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.GetAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
  Dictionary<string, string> extras = responseInfo.GetResponseExtras();
  string mediationGroupName = extras["mediation_group_name"];
  string mediationABTestName = extras["mediation_ab_test_name"];
  string mediationABTestVariant = extras["mediation_ab_test_variant"];
}

Informations sur la réponse de l'adaptateur

AdapterResponseInfo contient des métadonnées pour chaque adaptateur inclus dans la réponse d'annonce, qui peuvent être utilisées pour déboguer la médiation en cascade et l'exécution des enchères. L'ordre de la liste correspond à celui de la cascade de médiation pour la demande d'annonce.

Voici un exemple de résultat renvoyé par AdapterResponseInfo:

Android

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

iOS

  Network: GADMAdapterGoogleAdMobAds
  Ad Source Name: Reservation campaign
  Ad Source ID: 7068401028668408324
  Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
  Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
  AdUnitMapping:
  {
  }
  Error: (null)
  Latency: 0.391

Pour chaque réseau publicitaire, AdapterResponseInfo propose les méthodes suivantes:

Méthode Description
AdError Récupère l'erreur associée à la requête envoyée au réseau. Renvoie null si le réseau a chargé une annonce ou si le réseau n'a pas été tenté.
AdSourceId Récupère l'ID de la source d'annonces associé à cette réponse de l'adaptateur. Pour les campagnes, 6060308706800320801 est renvoyé pour un type d'objectif de campagne pour les annonces par médiation, et 7068401028668408324 est renvoyé pour les types d'objectifs d'impression et de clic. Consultez Sources d'annonces pour obtenir la liste des ID de source d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce.
AdSourceInstanceId Récupère l'ID d'instance de la source d'annonces associé à cette réponse de l'adaptateur.
AdSourceInstanceName Récupère le nom de l'instance de source d'annonces associé à la réponse de cet adaptateur.
AdSourceName Récupère la source d'annonce représentant le réseau publicitaire spécifique qui diffuse l'impression. Pour les campagnes, Mediated House Ads est renvoyé pour un type d'objectif de campagne pour les annonces par médiation, et Reservation Campaign est renvoyé pour les types d'objectifs d'impression et de clic. Pour obtenir la liste des noms de sources d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce, consultez Sources des annonces.
AdapterClassName Récupère un nom de classe qui identifie le réseau publicitaire.
AdUnitMapping Récupère la configuration réseau définie dans l'interface utilisateur AdMob.
LatencyMillis Récupère le temps que le réseau publicitaire a passé à charger une annonce. Renvoie 0 si le réseau n'a pas été tenté.

Voici un exemple de lecture de valeurs à partir d'un AdapterResponseInfo chargé:

private void OnAdLoaded(object sender, EventArgs args)
{
  ResponseInfo responseInfo = ad.GetResponseInfo();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.AdError;
  string adSourceId = loadedAdapterResponseInfo.AdSourceId;
  string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
  string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
  string adSourceName = loadedAdapterResponseInfo.AdSourceName;
  string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
  Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
  long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
}