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": "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",
  }
}

L'objet ResponseInfo inclut les méthodes suivantes :

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

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

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'annonces, AdSourceResponseInfo 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.
getId Obtient l'ID de source d'annonce associé à cette réponse de source d'annonce.
getInstanceId Obtient l'ID d'instance de la source d'annonces associée à cette réponse de l'adaptateur.
getInstanceName Obtient le nom de l'instance de source d'annonce associée à cette réponse de l'adaptateur.
getName Obtient 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 source d'annonces spécifiés dans l'UI Ad Manager.
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 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();
}