Informationen zur Anzeigenantwort abrufen

Zum Zwecke der Fehlerbehebung und Protokollierung stellen erfolgreich geladene Anzeigen ein ResponseInfo-Objekt bereit. Dieses Objekt enthält Informationen zur geladenen Anzeige sowie zur Vermittlungsabfolge, die zum Laden der Anzeige verwendet wurde.

Wenn eine Anzeige erfolgreich geladen wird, hat das Anzeigenobjekt die Methode getResponseInfo(). Mit InterstitialAd.getResponseInfo() werden beispielsweise die Antwortinformationen für eine geladene Interstitial-Anzeige abgerufen.

Wenn Anzeigen nicht geladen werden und nur ein Fehler angezeigt wird, sind die Antwortinformationen unter LoadAdError.getResponseInfo() verfügbar.

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

Antwortinformationen

Hier ist eine Beispielausgabe, die von ResponseInfo.toString() zurückgegeben wird und die Debug-Daten für eine geladene Anzeige enthält:

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

Zu den Methoden für das ResponseInfo-Objekt gehören:

Methode Beschreibung
getAdapterResponses Gibt die Liste der AdapterResponseInfo zurück, die Metadaten für jeden in der Anzeigenantwort enthaltenen Adapter enthält. Kann zum Debuggen der abfolgebasierten Vermittlung und der Gebotsausführung verwendet werden. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für diese Anzeigenanfrage.

Weitere Informationen finden Sie unter Adapterantwortinformationen.

getLoadedAdapterResponseInfo Gibt den AdapterResponseInfo zurück, der dem Adapter entspricht, über den die Anzeige geladen wurde.
getMediationAdapterClassName Gibt den Klassennamen des Vermittlungsadapters der Anzeigenquelle zurück, über die die Anzeige geladen wurde.
getResponseId Die Antwort-ID ist eine eindeutige Kennung für die Anzeigenantwort. Anhand dieser Kennung kann die Anzeige im Überprüfungszentrum für Anzeigen identifiziert und blockiert werden.
getResponseExtras

Gibt zusätzliche Informationen zur Anzeigenantwort zurück.

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
}

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

Informationen zur Adapterantwort

AdapterResponseInfo enthält Antwortinformationen für eine einzelne Anzeigenquelle in einer Anzeigenantwort.

Die folgende Beispielausgabe von AdapterResponseInfo zeigt die Metadaten für eine geladene Anzeige:

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

Für jede Anzeigenquelle bietet AdapterResponseInfo die folgenden Methoden:

Methode Beschreibung
getAdError Der Fehler, der mit der Anfrage an die Anzeigenquelle verknüpft ist. Wird null zurückgegeben, wenn die Anzeigenquelle eine Anzeige geladen hat oder die Anzeigenquelle nicht aufgerufen wurde.
getAdSourceId Die Anzeigenquellen-ID, die mit dieser Adapterantwort verknüpft ist.
getAdSourceInstanceId Die Anzeigenquelleninstanz-ID, die mit dieser Adapterantwort verknüpft ist.
getAdSourceInstanceName Der Name der Anzeigenquelleninstanz, die mit dieser Adapterantwort verknüpft ist.
getAdSourceName Der Name der Anzeigenquelle, die mit dieser Adapterantwort verknüpft ist.
getAdapterClassName Der Klassenname des Anzeigenquellenadapters, über den die Anzeige geladen wurde.
getCredentials Ruft die Anmeldedaten des Anzeigenquellenadapters ab, die auf der Ad Manager-Benutzeroberfläche angegeben wurden.
getLatencyMillis Gibt an, wie lange der Adapter der Anzeigenquelle für das Laden einer Anzeige benötigt hat. Gibt 0 zurück, wenn die Anzeigenquelle nicht aufgerufen wurde.

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