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 chargée, ainsi que sur la cascade de médiation utilisée pour charger l'annonce.

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

Si le chargement des annonces échoue et que seule une 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 résultat renvoyé 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 les métadonnées de chaque adaptateur inclus dans la réponse d'annonce. Peut être utilisé 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 cette demande d'annonce.

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

GetLoadedAdapterResponseInfo Renvoie le 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 lecture de valeurs à 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 adressée au réseau. Renvoie null si le réseau a chargé une annonce avec succès ou si aucune tentative d'accès au réseau n'a été effectuée.
AdSourceId Récupère l'ID de source d'annonces associé à la réponse de cet adaptateur. Pour les campagnes, 6060308706800320801 est renvoyé pour un type d'objectif de campagne utilisant des annonces par médiation, tandis que 7068401028668408324 est renvoyé pour les types d'objectifs d'impressions et de clics. Pour obtenir la liste des ID de sources d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce, consultez Sources des annonces.
AdSourceInstanceId Récupère l'ID d'instance de source d'annonces associé à la réponse de cet 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'annonces 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 utilisant des annonces par médiation, tandis que Reservation Campaign est renvoyé pour les types d'objectifs d'impressions et de clics. 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 l'ensemble de configuration réseau défini dans l'interface utilisateur AdMob.
LatencyMillis Récupère le temps passé par le réseau publicitaire à charger une annonce. Renvoie 0 si aucune tentative d'accès au réseau n'a été effectuée.

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