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

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

Si une 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 les annonces ne se chargent pas et qu'une erreur s'affiche, 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 résultat renvoyé par ResponseInfo.toString(), qui montre les données de débogage renvoyées pour une annonce chargée :

{
  "Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 3585,
      "Ad Source Name": "AdMob Network",
      "Ad Source ID": "",
      "Ad Source Instance Name": "AdMob (default)",
      "Ad Source Instance ID": "",
      "Credentials": {
        "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
      },
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 3585,
    "Ad Source Name": "AdMob Network",
    "Ad Source ID": "",
    "Ad Source Instance Name": "AdMob (default)",
    "Ad Source Instance ID": "",
    "Credentials": {
      "pubid": "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
    },
    "Ad Error": "null"
  },
  "Response Extras": {
    "creative_id": "138471856178",
    "line_item_id": "6707237225",
  }
}

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

Méthode Description
getAdSourceResponses Renvoie la liste des AdSourceResponseInfo contenant les métadonnées de chaque source d'annonce incluse 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 Informations sur la réponse de la source d'annonce.

getLoadedAdSourceResponse Renvoie l'élément AdSourceResponseInfo correspondant à la source d'annonce qui a chargé l'annonce.
getAdapterClassName Renvoie le nom de la 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 :
  • creative_id : ID de la création de l'annonce sélectionnée. Renvoyé uniquement pour les annonces par réservation.
  • line_item_id : ID de l'élément de campagne de l'annonce sélectionnée. Renvoyé uniquement pour les annonces par réservation.

Kotlin

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

  val responseId = responseInfo.responseId
  val adapterClassName = responseInfo.adapterClassName
  val adSourceResponses = responseInfo.adSourceResponses
  val loadedAdSourceResponse = responseInfo.loadedAdSourceResponse
  val extras = responseInfo.responseExtras
  val creativeId = extras.getString("creative_id")
  val lineItemId = extras.getString("line_item_id")
}

Java

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

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String adapterClassName = responseInfo.getAdapterClassName();
  List<AdSourceResponseInfo> adSourceResponses = responseInfo.getAdSourceResponses();
  AdSourceResponseInfo loadedAdSourceResponse = responseInfo.getLoadedAdSourceResponse();
  Bundle extras = responseInfo.getResponseExtras();
  String creativeId = extras.getString("creative_id");
  String lineItemId = extras.getString("line_item_id");
}

Informations sur la réponse de la source d'annonce

AdSourceResponseInfo contient des informations de réponse pour une source d'annonce individuelle dans une réponse d'annonce.

L'exemple de résultat AdSourceResponseInfo suivant montre les métadonnées d'une annonce chargée :

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 3585,
  "Ad Source Name": "AdMob Network",
  "Ad Source ID": "",
  "Ad Source Instance Name": "AdMob (default)",
  "Ad Source Instance ID": "",
  "Credentials": {
    "pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
  },
  "Ad Error": "null"
}

Pour chaque source d'annonce, AdSourceResponseInfo fournit les méthodes suivantes :

Méthode Description
getAdError Récupère l'erreur associée à la demande envoyée à la source d'annonce. Renvoie null si la source d'annonce a bien chargé une annonce ou si elle n'a pas été tentée.
getId Récupère l'ID de la source d'annonce associé à cette réponse de la source d'annonce.
getInstanceId Récupère l'ID d'instance de la source d'annonce associé à cette réponse de l'adaptateur.
getInstanceName Récupère le nom de l'instance de source d'annonce associée à cette réponse de l'adaptateur.
getName Récupère le nom de la source d'annonce associée à cette réponse de l'adaptateur.
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 la source d'annonce spécifiés dans l'interface utilisateur d'Ad Manager.
getLatencyMillis Récupère le temps passé par l'adaptateur de la source d'annonce à charger une annonce. Renvoie 0 si la source d'annonce n'a pas été tentée.

Kotlin

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

  val adError = loadedAdSourceResponseInfo.adError
  val adSourceId = loadedAdSourceResponseInfo.id
  val adSourceInstanceId = loadedAdSourceResponseInfo.instanceId
  val adSourceInstanceName = loadedAdSourceResponseInfo.instanceName
  val adSourceName = loadedAdSourceResponseInfo.name
  val adapterClassName = loadedAdSourceResponseInfo.adapterClassName
  val credentials = loadedAdSourceResponseInfo.credentials
  val latencyMillis = loadedAdSourceResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdSourceResponseInfo loadedAdSourceResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdSourceResponse();

  AdError adError = loadedAdSourceResponseInfo.getAdError();
  String adSourceId = loadedAdSourceResponseInfo.getId();
  String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
  String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
  String adSourceName = loadedAdSourceResponseInfo.getName();
  String adapterClassName = loadedAdSourceResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdSourceResponseInfo.getCredentials();
  long latencyMillis = loadedAdSourceResponseInfo.getLatencyMillis();
}