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

Pour le débogage et la 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 sur la cascade de médiation utilisée pour charger l'annonce.

Dans les cas où une annonce est chargée avec succès, l'objet d'annonce comporte une méthode getResponseInfo(). Par exemple, InterstitialAd.getResponseInfo() obtient les informations de réponse pour une annonce interstitielle chargée.

Dans les cas où les annonces ne se chargent pas et où seule une erreur est disponible, les informations sur la 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 résultat renvoyé par ResponseInfo.toString() montrant 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"
  }
}

L'objet ResponseInfo inclut les méthodes suivantes :

Méthode Description
getAdapterResponses Renvoie la liste des AdapterResponseInfo contenant les métadonnées de chaque adaptateur inclus dans la réponse publicitaire. Permet de 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 Informations sur la 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 de la source d'annonce qui a 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 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'annonce individuelle dans une réponse d'annonce.

L'exemple de résultat 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 Obtient l'erreur associée à la demande envoyée à la source d'annonces. Renvoie null si la source d'annonces a chargé une annonce ou si la source d'annonces n'a pas été tentée.
getAdSourceId Obtient l'ID de source d'annonce associé à cette réponse de l'adaptateur. Pour les campagnes, 6060308706800320801 est renvoyé pour un type d'objectif de campagne d'annonces par médiation, et 7068401028668408324 est renvoyé pour les types d'objectif d'impression et de clic. Consultez Sources d'annonces pour obtenir la liste des ID de sources d'annonces possibles lorsqu'une source d'annonce diffuse l'annonce.
getAdSourceInstanceId Obtient l'ID d'instance de la source d'annonce associée à cette réponse de l'adaptateur.
getAdSourceInstanceName Obtient le nom de l'instance de source d'annonce associée à cette réponse de l'adaptateur.
getAdSourceName Obtient le nom de la source d'annonce associée à cette réponse de l'adaptateur. Pour les campagnes, Mediated House Ads est renvoyé pour un type d'objectif de campagne d'annonces par médiation, et Reservation Campaign est renvoyé pour les types d'objectif d'impression et de clic. Consultez Sources d'annonces pour obtenir la liste des noms de sources d'annonces possibles lorsqu'une source d'annonce diffuse l'annonce.
getAdapterClassName Récupère le nom de classe de l'adaptateur de source d'annonce qui a chargé l'annonce.
getCredentials Récupère les identifiants de l'adaptateur de source d'annonces spécifiés dans l'UI AdMob.
getLatencyMillis Obtient le temps passé par l'adaptateur de source d'annonce à charger une annonce. Renvoie 0 si la source d'annonces n'a pas été tenté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();
}