Mengambil informasi tentang respons iklan

Untuk tujuan proses debug dan logging, iklan yang berhasil dimuat akan menyediakan objek ResponseInfo. Objek ini berisi informasi tentang iklan yang dimuatnya, selain informasi tentang waterfall mediasi yang digunakan untuk memuat iklan.

Untuk kasus saat iklan berhasil dimuat, objek iklan memiliki metode getResponseInfo(). Misalnya, InterstitialAd.getResponseInfo() mendapatkan info respons untuk iklan interstisial yang dimuat.

Untuk kasus saat iklan gagal dimuat dan hanya error yang tersedia, info respons tersedia melalui 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());
}

Info Respons

Berikut adalah contoh output yang ditampilkan oleh ResponseInfo.toString() yang menunjukkan data proses debug yang ditampilkan untuk iklan yang dimuat:

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

Metode pada objek ResponseInfo mencakup hal berikut:

Metode Deskripsi
getAdapterResponses Menampilkan daftar AdapterResponseInfo yang berisi metadata untuk setiap adaptor yang disertakan dalam respons iklan. Dapat digunakan untuk men-debug mediasi waterfall dan eksekusi bidding. Urutan daftar cocok dengan urutan urutan mediasi untuk permintaan iklan ini.

Lihat Info respons adaptor untuk mengetahui informasi selengkapnya.

getLoadedAdapterResponseInfo Menampilkan AdapterResponseInfo yang sesuai dengan adaptor yang memuat iklan.
getMediationAdapterClassName Menampilkan nama class adaptor mediasi dari sumber iklan yang memuat iklan.
getResponseId ID respons adalah ID unik untuk respons iklan. ID ini dapat digunakan untuk mengidentifikasi dan memblokir iklan di Pusat Peninjauan Iklan (ARC).
getResponseExtras

Menampilkan informasi tambahan tentang respons iklan.

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

Info respons adaptor

AdapterResponseInfo berisi informasi respons untuk setiap sumber iklan dalam respons iklan.

Contoh output AdapterResponseInfo berikut menampilkan metadata untuk iklan yang dimuat:

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

Untuk setiap sumber iklan, AdapterResponseInfo menyediakan metode berikut:

Metode Deskripsi
getAdError Mendapatkan error yang terkait dengan permintaan ke sumber iklan. Menampilkan null jika sumber iklan berhasil memuat iklan atau jika sumber iklan tidak dicoba.
getAdSourceId Mendapatkan ID sumber iklan yang terkait dengan respons adaptor ini.
getAdSourceInstanceId Mendapatkan ID instance sumber iklan yang terkait dengan respons adaptor ini.
getAdSourceInstanceName Mendapatkan nama instance sumber iklan yang terkait dengan respons adaptor ini.
getAdSourceName Mendapatkan nama sumber iklan yang terkait dengan respons adaptor ini.
getAdapterClassName Mendapatkan nama class adaptor sumber iklan yang memuat iklan.
getCredentials Mendapatkan kredensial adaptor sumber iklan yang ditentukan di UI Ad Manager.
getLatencyMillis Mendapatkan jumlah waktu yang dihabiskan adaptor sumber iklan untuk memuat iklan. Menampilkan 0 jika sumber iklan tidak dicoba.

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