Mengambil informasi tentang respons iklan

Untuk tujuan proses debug dan logging, iklan yang berhasil dimuat memberikan GADResponseInfo . 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 GADResponseInfo. Misalnya, GADInterstitialAd.responseInfo mendapatkan info respons iklan interstisial yang dimuat.

Untuk kasus saat iklan gagal dimuat dan hanya tersedia error, GADResponseInfo tersedia menggunakan kunci GADErrorUserInfoKeyResponseInfo pada kamus userInfo error.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    if let error = error {
      let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo
      print("\(String(describing: responseInfo))")
      return
    }
    let responseInfo = ad?.responseInfo
    print("\(String(describing: responseInfo))")
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    if (error) {
      GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];
      NSLog(@"%@", responseInfo.description);
      return;
    }
    GADResponseInfo *responseInfo = ad.responseInfo;
    NSLog(@"%@", responseInfo.description);
  }];
}

Info respons

Berikut adalah contoh output yang menunjukkan data proses debug yang ditampilkan untuk iklan yang dimuat:

  ** Response Info **
    Response ID: CLz5r-KMtfoCFQvv7QodfGAMHw
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.357

  ** Extras Dictionary **
    {
        "mediation_group_name" = Campaign;
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.357

Properti di GADResponseInfo termasuk:

Properti Deskripsi
adNetworkInfoArray Menampilkan daftar GADAdNetworkResponseInfo yang berisi metadata untuk setiap adaptor yang disertakan dalam respons iklan. Bisa digunakan untuk men-debug mediasi waterfall dan eksekusi bidding. Urutan dari daftar cocok dengan urutan waterfall mediasi untuk permintaan iklan ini.

Lihat Info Respons Adaptor untuk informasi selengkapnya tidak akurat atau tidak sesuai.

loadedAdNetworkResponseInfo Menampilkan GADAdNetworkResponseInfo yang sesuai dengan adaptor yang memuat iklan.
adNetworkClassName Menampilkan nama kelas adaptor mediasi dari jaringan iklan yang dimuat iklan.
responseIdentifier ID respons adalah ID unik untuk respons iklan. Ini dapat digunakan untuk mengidentifikasi dan memblokir iklan di Pusat Peninjauan Iklan (ARC).
extrasDictionary

Menampilkan informasi tambahan tentang respons iklan. Tambahan dapat menampilkan kunci berikut:

  • mediation_group_name: Nama grup mediasi
  • mediation_ab_test_name: Nama pengujian A/B mediasi, jika berlaku
  • mediation_ab_test_variant: Varian yang digunakan dalam pengujian A/B mediasi, jika berlaku

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    let responseInfo = ad?.responseInfo

    let responseIdentifier = responseInfo?.responseIdentifier
    let adNetworkClassName = responseInfo?.adNetworkClassName
    let adNetworkInfoArray = responseInfo?.adNetworkInfoArray
    let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo
    let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"]
    let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"]
    let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"]
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    GADResponseInfo *responseInfo = ad.responseInfo;

    NSString *responseIdentifier = responseInfo.responseIdentifier;
    NSString *adNetworkClassName = responseInfo.adNetworkClassName;
    NSArray *adNetworkInfoArray = responseInfo.adNetworkInfoArray;
    GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo;
    NSString *mediationGroupName = responseInfo.extrasDictionary[@"mediation_group_name"];
    NSString *mediationABTestName = responseInfo.extrasDictionary[@"mediation_ab_test_name"];
    NSString *mediationABTestVariant = responseInfo.extrasDictionary[@"mediation_ab_test_variant"];
  }];
}

Info Respons Adaptor

GADAdNetworkResponseInfo berisi metadata untuk setiap adaptor yang disertakan dalam respons iklan yang dapat digunakan untuk men-debug eksekusi bidding dan mediasi waterfall. Urutan daftar sesuai dengan urutan waterfall mediasi untuk permintaan iklan.

Berikut adalah contoh output GADAdNetworkResponseInfo:

    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.277

Untuk setiap jaringan iklan, GADAdNetworkResponseInfo memberikan hal berikut properti:

Properti Deskripsi
error Error yang terkait dengan permintaan ke jaringan. Hasil nil jika jaringan berhasil memuat iklan atau jika jaringan tidak dicoba.
adSourceId ID sumber iklan yang terkait dengan respons adaptor ini. Untuk kampanye, 6060308706800320801 akan ditampilkan untuk iklan yang dimediasi jenis sasaran kampanye, dan 7068401028668408324 ditampilkan untuk tayangan iklan dan klik jenis sasaran. Lihat Sumber iklan untuk daftar kemungkinan ID sumber iklan saat jaringan iklan menayangkan iklan.
adSourceInstanceId ID instance sumber iklan yang terkait dengan adaptor ini yang dihasilkan.
adSourceInstanceName Nama instance sumber iklan yang terkait dengan adaptor ini respons.
adSourceName Sumber iklan yang mewakili jaringan iklan tertentu yang menayangkan tayangan iklan. Untuk kampanye, Mediated House Ads ditampilkan untuk iklan yang dimediasi jenis sasaran kampanye, dan Reservation Campaign ditampilkan untuk tayangan iklan dan klik jenis sasaran. Lihat Sumber iklan untuk daftar kemungkinan nama sumber iklan saat jaringan iklan menayangkan
adNetworkClassName Nama kelas adaptor jaringan iklan yang memuat iklan.
adUnitMapping Konfigurasi jaringan yang diatur dari AdMob UI.
latency Jumlah waktu yang dihabiskan jaringan iklan untuk memuat iklan. Hasil 0 jika jaringan tidak dicoba.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    let responseInfo = ad?.responseInfo
    let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo

    let adNetworkError = loadedAdNetworkResponseInfo?.error
    let adSourceId = loadedAdNetworkResponseInfo?.adSourceID
    let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID
    let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName
    let adSourceName = loadedAdNetworkResponseInfo?.adSourceName
    let adNetworkClassName = loadedAdNetworkResponseInfo?.adNetworkClassName
    let adUnitMapping = loadedAdNetworkResponseInfo?.adUnitMapping
    let latency = loadedAdNetworkResponseInfo?.latency
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    GADResponseInfo *responseInfo = ad.responseInfo;
    GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo;

    NSError *adNetworkError = loadedAdNetworkResponseInfo.error;
    NSString *adSourceId = loadedAdNetworkResponseInfo.adSourceID;
    NSString *adSourceInstanceId = loadedAdNetworkResponseInfo.adSourceInstanceID;
    NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName;
    NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
    NSString *adNetworkClassName = loadedAdNetworkResponseInfo.adNetworkClassName;
    NSDictionary *adUnitMapping = loadedAdNetworkResponseInfo.adUnitMapping;
    NSTimeInterval latency = loadedAdNetworkResponseInfo.latency;
  }];
}