Pobieranie informacji o odpowiedzi na reklamę

Do celów debugowania i logowania wczytane reklamy zapewniają ResponseInfo obiektu. Zawiera on informacje o wczytanej reklamie, a także informacje o kaskadzie zapośredniczenia użytej do wczytania reklamy.

Jeśli reklama wczytuje się prawidłowo, obiekt reklamy ma parametr Metoda getResponseInfo(). Przykład: InterstitialAd.getResponseInfo() pobiera informację o odpowiedzi na załadowaną reklamę pełnoekranową.

Jeśli nie uda się wczytać reklam i pojawia się tylko błąd, funkcja Informacje o odpowiedziach są dostępne LoadAdError.getResponseInfo()

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

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

Informacje o odpowiedzi

Oto przykładowe dane wyjściowe zwrócone przez ResponseInfo.toString() pokazując dane debugowania zwrócone dla wczytanej reklamy:

{
  "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-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
    },
    "Ad Error": "null"
  },
  "Response Extras": {}
}

Metody dotyczące obiektu ResponseInfo obejmują:

Metoda Opis
getAdapterResponses Zwraca listę wartości AdapterResponseInfo który zawiera metadane każdego adaptera uwzględnionego w odpowiedzi reklamy. Może być służą do debugowania wykonywania zapośredniczenia kaskadowego i określania stawek. Kolejność lista odpowiada kolejności kaskady zapośredniczenia dla tego żądania reklamy.

Więcej informacji znajdziesz w sekcji Informacje o odpowiedzi na kartę i informacjami o nich.

getLoadedAdapterResponseInfo Zwraca wartość AdapterResponseInfo odpowiadającą adapterowi która wczytała reklamę.
getMediationAdapterClassName Zwraca nazwę klasy adaptera zapośredniczenia sieci reklamowej, która została wczytana reklamę.
getResponseId Identyfikator odpowiedzi to unikalny identyfikator odpowiedzi na reklamę. Ten mogą służyć do identyfikowania i blokowania reklamy w Centrum oceny reklam.
getResponseExtras

Zwraca dodatkowe informacje o odpowiedzi reklamy.

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&ltAdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
}

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
}

Informacje o odpowiedzi adaptera

AdapterResponseInfo zawiera metadane każdego adaptera uwzględnionego w odpowiedzi reklamy, których można użyć do debugowania konfiguracji zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności kaskady zapośredniczenia dla żądania reklamy.

Oto przykładowe dane wyjściowe AdapterResponseInfo:

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

W przypadku każdej sieci reklamowej AdapterResponseInfo udostępnia te metody:

Metoda Opis
getAdError Pobiera do sieci błąd powiązany z żądaniem. Zwroty null, jeśli sieć załadowała reklamę lub jeśli nie podjęto próby wykonania testu.
getAdSourceId Pobiera identyfikator źródła reklam powiązany z tą odpowiedzią adaptera.
getAdSourceInstanceId Pobiera identyfikator wystąpienia źródła reklam powiązanego z tym adapterem jako odpowiedź. Zwraca pusty ciąg znaków, jeśli nie zostanie wypełniony przez grupę zysku.
getAdSourceInstanceName Pobiera nazwę wystąpienia źródła reklam powiązanej z tym adapterem .
getAdSourceName Pobiera źródło reklam reprezentujące konkretną sieć reklamową, która wyświetla dane wyświetlenie.
getAdapterClassName Pobiera nazwę klasy adaptera, który załadował reklamę.
getCredentials Pobiera konfigurację sieci z Ad Manager Interfejs użytkownika
getLatencyMillis Określa czas wczytywania reklamy przez sieć reklamową. Zwroty 0, jeśli nie podjęto próby połączenia z siecią.

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

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponse

  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
}