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

À des fins de débogage et de journalisation, les annonces chargées 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 LoadAdError.getResponseInfo().

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

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:

{
  "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"
  }
}

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 l'AdapterResponseInfo correspondant à l'adaptateur qui a chargé l'annonce.
getMediationAdapterClassName Renvoie le nom de la classe de l'adaptateur de médiation de la source d'annonces qui a chargé l'annonce.
getResponseId L'identifiant de réponse est un identifiant unique de 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

Renvoie des informations supplémentaires sur la réponse de l'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

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val mediationAdapterClassName = responseInfo.mediationAdapterClassName
  val adapterResponses = responseInfo.adapterResponses
  val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

Informations sur la réponse de l'adaptateur

AdapterResponseInfo contient des informations de réponse pour une source d'annonces spécifique dans une réponse d'annonce.

L'exemple de sortie AdapterResponseInfo suivant montre les métadonnées d'une annonce chargée:

{
  "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"
}

Pour chaque source d'annonces, AdapterResponseInfo fournit les méthodes suivantes:

Méthode Description
getAdError Récupère l'erreur associée à la requête envoyée à la source d'annonces. Renvoie null si la source d'annonces a réussi à charger une annonce ou si la source d'annonces n'a pas été tentée.
getAdSourceId 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'une source d'annonces diffuse l'annonce.
getAdSourceInstanceId Récupère l'ID d'instance de la source d'annonces associé à cette réponse de l'adaptateur.
getAdSourceInstanceName Récupère le nom de l'instance de source d'annonces associé à cette réponse de l'adaptateur.
getAdSourceName Récupère le nom de la source d'annonces associé à cette réponse de l'adaptateur. 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. Consultez la section Sources d'annonces pour obtenir la liste des noms de sources d'annonces possibles lorsqu'une source d'annonces diffuse l'annonce.
getAdapterClassName Récupère le nom de la classe de l'adaptateur de source d'annonces qui a chargé l'annonce.
getCredentials Récupère les identifiants de l'adaptateur de la source d'annonces spécifiés dans l'interface utilisateur d'AdMob.
getLatencyMillis Récupère le temps que l'adaptateur de la source d'annonces a passé à charger une annonce. Renvoie 0 si la source d'annonces n'a pas été utilisée.

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponseInfo

  val adError = loadedAdapterResponseInfo.adError
  val adSourceId = loadedAdapterResponseInfo.adSourceId
  val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
  val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
  val adSourceName = loadedAdapterResponseInfo.adSourceName
  val adapterClassName = loadedAdapterResponseInfo.adapterClassName
  val credentials = loadedAdapterResponseInfo.credentials
  val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdapterResponseInfo loadedAdapterResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.getAdError();
  String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
  String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
  String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdapterResponseInfo.getCredentials();
  long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}