Informationen zur Anzeigenantwort abrufen

Zu Debugging- und Protokollierungszwecken wird für erfolgreich geladene Anzeigen ein ResponseInfo Objekt bereitgestellt. 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 eine getResponseInfo() Methode. Beispielsweise werden InterstitialAd.getResponseInfo() die Antwortinformationen für eine geladene Interstitial-Anzeige abgerufen.

Wenn Anzeigen nicht geladen werden können und nur ein Fehler verfügbar ist, sind die Antwortinformationen über LoadAdError.getResponseInfo() verfügbar.

Kotlin

override fun onAdLoaded() {
  val responseInfo = adView.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() {
  ResponseInfo responseInfo = adView.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

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

Antwortinformationen

Hier sehen Sie eine Beispielausgabe von ResponseInfo.toString(), die die Debugging-Daten für eine geladene Anzeige zeigt:

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

Die Methoden für das ResponseInfo-Objekt umfassen Folgendes:

Methode Beschreibung
getAdapterResponses Gibt die Liste von AdapterResponseInfo zurück, die Metadaten für jeden enthaltenen Adapter enthält in der Anzeigenantwort. Kann verwendet werden, um die Waterfall-Vermittlung und die Gebotsausführung zu debuggen. Die Reihenfolge in der Liste entspricht der Reihenfolge der Waterfall-Vermittlung für diese Anzeigenanfrage.

Weitere Informationen zu Adapter-Antwortinformationen

getLoadedAdapterResponseInfo Gibt die AdapterResponseInfo zurück, die dem Adapter entspricht, der die Anzeige geladen hat.
getMediationAdapterClassName Gibt den Klassennamen des Vermittlungsadapters der Anzeigenquelle zurück, die die Anzeige geladen hat.
getResponseId Die Antwort-ID ist eine eindeutige ID für die Anzeigenantwort. Diese ID kann verwendet werden, um die Anzeige im Überprüfungszentrum für Anzeigen (ARC) zu identifizieren und zu blockieren.
getResponseExtras Gibt zusätzliche Informationen zur Anzeigenantwort zurück. Zusätzliche Informationen können die folgenden Schlüssel zurückgeben:
  • creative_id: Die Creative-ID der ausgewählten Anzeige. Wird nur für Reservierungsanzeigen zurückgegeben.
  • line_item_id: Die Positions-ID der ausgewählten Anzeige. Wird nur für Reservierungsanzeigen zurückgegeben.

Kotlin

override fun onAdLoaded() {
  val responseInfo = adView.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() {
  ResponseInfo responseInfo = adView.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");
}

Informationen zur Adapterantwort

AdapterResponseInfo enthält Antwortinformationen für eine Einzelanzeigenquelle 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"
}

AdapterResponseInfo bietet für jede Anzeigenquelle die folgenden Methoden:

Methode Beschreibung
getAdError Ruft den Fehler ab, der mit der Anfrage an die Anzeigenquelle verknüpft ist. Gibt null zurück, wenn die Anzeigenquelle eine Anzeige erfolgreich geladen hat oder wenn die Anzeigenquelle nicht versucht wurde.
getAdSourceId Ruft die Anzeigenquellen-ID ab, die mit dieser Adapterantwort verknüpft ist.
getAdSourceInstanceId Ruft die Anzeigenquelleninstanz-ID ab, die mit dieser Adapterantwort verknüpft ist.
getAdSourceInstanceName Ruft den Namen der Anzeigenquelleninstanz ab, die mit dieser Adapterantwort verknüpft ist.
getAdSourceName Ruft den Namen der Anzeigenquelle ab, die mit dieser Adapterantwort verknüpft ist.
getAdapterClassName Ruft den Klassennamen des Anzeigenquellenadapters ab, der die Anzeige geladen hat.
getCredentials Ruft die Anmeldedaten des Anzeigenquellenadapters ab, die in der Ad Manager-Benutzeroberfläche angegeben sind.
getLatencyMillis Ruft die Zeit ab, die der Anzeigenquellenadapter zum Laden einer Anzeige benötigt hat. Gibt 0 zurück, wenn die Anzeigenquelle nicht versucht wurde.

Kotlin

override fun onAdLoaded() {
  val loadedAdapterResponseInfo = adView.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() {
  AdapterResponseInfo loadedAdapterResponseInfo =
      adView.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();
}