Reklam Yanıtı Hakkında Bilgi Alma

Hata ayıklama ve günlük kaydı amacıyla, başarılı bir şekilde yüklenen reklamlar GADResponseInfo nesnesini tanımlayın. Bu nesne, yüklendiği reklamla ilgili bilgilerin yanı sıra Reklamı yüklemek için kullanılan uyumlulaştırma şelalesi hakkındaki bilgiler.

Bir reklamın başarıyla yüklendiği durumlarda, reklam nesnesi GADResponseInfo mülk. Örneğin, GADInterstitialAd.responseInfo Kullanıcı, yüklenen bir geçiş reklamına ait yanıt bilgilerini alır.

Reklamların yüklenemediği ve yalnızca bir hatanın mevcut olduğu durumlarda, GADResponseInfo, GADErrorUserInfoKeyResponseInfo anahtarı ile kullanılabilir hatanın userInfo sözlüğünde bulabilirsiniz.

Swift

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

Yanıt bilgileri

Aşağıda, yüklenen bir reklam için döndürülen hata ayıklama verilerini gösteren örnek çıktı verilmiştir:

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

  ** 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

GADResponseInfo üzerindeki mülkler şunlardır:

Özellik Açıklama
adNetworkInfoArray GADAdNetworkResponseInfo listesini döndürür reklam yanıtında yer alan her bağdaştırıcının meta verilerini içeren meta verileri içerir. Olabilir şelale uyumlulaştırması ve teklifli sistem yürütmede hata ayıklamak için kullanılır. Sıra, Liste, bu reklam isteği için uyumlulaştırma şelalesinin sıralamasıyla eşleşir.

Daha fazla bilgi için Bağdaştırıcı Yanıt Bilgisi konusuna bakın ekleyebilirsiniz.

loadedAdNetworkResponseInfo Adaptöre karşılık gelen GADAdNetworkResponseInfo değerini döndürür bir şablondan oluşur.
adNetworkClassName Yüklenen reklam ağının uyumlulaştırma bağdaştırıcısı sınıf adını döndürür reklam.
responseIdentifier Yanıt tanımlayıcısı, reklam yanıtı için benzersiz bir tanımlayıcıdır. Bu tanımlayıcı, Reklam İnceleme Merkezi'nde (ARC) reklamı tanımlamak ve engellemek için kullanılabilir.
extrasDictionary

Reklam yanıtı hakkında ek bilgi döndürür.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/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
  }
}

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;
  }];
}

Bağdaştırıcı Yanıt Bilgisi

GADAdNetworkResponseInfo reklam yanıtında yer alan her bağdaştırıcı için kullanılabilecek meta verileri içerir hata ayıklaması yapabilirsiniz. Listenin sırası Reklam isteği için uyumlulaştırma şelalesinin sıralamasıyla eşleşir.

Aşağıda örnek GADAdNetworkResponseInfo çıkışı verilmiştir:

    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

GADAdNetworkResponseInfo, her reklam ağı için aşağıdakileri sağlar özellikler:

Özellik Açıklama
error Ağa yapılan istekle ilişkili hata. İadeler nil ağ bir reklamı başarıyla yükleyip yüklemediğinde denenmedi.
adSourceId Bu bağdaştırıcı yanıtıyla ilişkili reklam kaynağı kimliği.
adSourceInstanceId Bu bağdaştırıcıyla ilişkili reklam kaynağı örnek kimliği tıklayın.
adSourceInstanceName Bu bağdaştırıcıyla ilişkili reklam kaynağı örneği adı yanıt. boş dizeyi ifade eder.
adSourceName Reklamı yayınlayan belirli reklam ağını temsil eden reklam kaynağı gösterim elde etti.
adNetworkClassName Reklamı yükleyen reklam ağı bağdaştırıcısının sınıf adı.
adUnitMapping Ağ yapılandırması Ad Manager Kullanıcı arayüzü.
latency Reklam ağının bir reklamı yüklemek için harcadığı süredir. İadeler Ağ bağlanmaya çalışılmadıysa 0.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/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;
  }];
}