Mengambil informasi tentang respons iklan

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

Untuk kasus saat iklan berhasil dimuat, objek iklan memiliki properti GADResponseInfo. Misalnya, GADInterstitialAd.responseInfo mendapatkan info respons untuk iklan interstisial yang dimuat.

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

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/example/interstitial", request: request
  ) { (ad, error) in
    if let error = error {
      let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo
      print("\(String(describing: responseInfo))")
      return
    }
    let responseInfo = ad?.responseInfo
    print("\(String(describing: responseInfo))")
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/21775744923/example/interstitial"
   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 menampilkan data proses debug yang ditampilkan untuk iklan yang dimuat:

** Response Info **
    Response ID: BmnCZaSbE_6Mur8P5su8gAY
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

  ** Extras Dictionary **
    {
        "creative_id" = "138471856178";
        "line_item_id" = "6707237225";
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

Properti di GADResponseInfo mencakup:

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

Lihat Info Respons Adaptor untuk mengetahui informasi selengkapnya.

loadedAdNetworkResponseInfo Menampilkan GADAdNetworkResponseInfo yang sesuai dengan adaptor yang memuat iklan.
adNetworkClassName Menampilkan nama class adaptor mediasi dari jaringan iklan yang memuat iklan.
responseIdentifier ID respons adalah ID unik untuk respons iklan. ID 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:
  • creative_id: ID materi iklan dari iklan yang dipilih. Hanya ditampilkan untuk iklan reservasi.
  • line_item_id: ID item baris dari iklan yang dipilih. Hanya ditampilkan untuk iklan reservasi.

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/example/interstitial", 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 creativeID = responseInfo?.extrasDictionary["creative_id"]
    let lineItemID = responseInfo?.extrasDictionary["line_item_id"]
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/21775744923/example/interstitial"
   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 *creativeID = responseInfo.extrasDictionary[@"creative_id"];
    NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"];
  }];
}

Info Respons Adaptor

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

Berikut adalah contoh output GADAdNetworkResponseInfo:

    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

Untuk setiap jaringan iklan, GADAdNetworkResponseInfo menyediakan properti berikut:

Properti Deskripsi
error Error yang terkait dengan permintaan ke jaringan. Menampilkan nil jika jaringan berhasil memuat iklan atau jika jaringan tidak dicoba.
adSourceId ID sumber iklan yang terkait dengan respons adaptor ini.
adSourceInstanceId ID instance sumber iklan yang terkait dengan respons adaptor ini.
adSourceInstanceName Nama instance sumber iklan yang terkait dengan respons adaptor ini. Menampilkan string kosong jika tidak diisi oleh grup hasil.
adSourceName Sumber iklan yang mewakili jaringan iklan tertentu yang menayangkan tayangan.
adNetworkClassName Nama class adaptor jaringan iklan yang memuat iklan.
adUnitMapping Setelan konfigurasi jaringan dari UI Ad Manager.
latency Jumlah waktu yang dihabiskan jaringan iklan untuk memuat iklan. Menampilkan 0 jika jaringan tidak dicoba.

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial"
   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;
  }];
}