Reklam Yanıtı Hakkında Bilgi Alma

Başarıyla yüklenen reklamlar, hata ayıklama ve günlük kaydı amacıyla bir GADResponseInfo nesnesi sağlar. Bu nesne, yüklediği reklamla ilgili bilgilerin yanı sıra reklamı yüklemek için kullanılan uyumlulaştırma şelalesine ilişkin bilgileri içerir.

Bir reklamın başarıyla yüklendiği durumlarda reklam nesnesinde GADResponseInfo mülkü bulunur. Örneğin, GADInterstitialAd.responseInfo, yüklenmiş bir geçiş reklamının yanıt bilgilerini alır.

Reklamların yüklenemediği ve yalnızca bir hata bulunduğu durumlarda, GADResponseInfo, hatanın userInfo sözlüğündeki GADErrorUserInfoKeyResponseInfo anahtarı kullanılarak kullanılabilir.

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 çıkış 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'daki mülkler şunları içerir:

Mülk Açıklama
adNetworkInfoArray Reklam yanıtına dahil edilen her adaptörün meta verilerini içeren GADAdNetworkResponseInfo listesini döndürür. Şelale uyumlulaştırma ve teklifli sistem yürütme işlemlerinde hata ayıklama için kullanılabilir. Listenin sırası, bu reklam isteği için uyumlulaştırma şelalesinin sırasıyla eşleşir.

Daha fazla bilgi için Adaptör Yanıtı Bilgileri'ne bakın.

loadedAdNetworkResponseInfo Reklamı yükleyen bağdaştırıcının GADAdNetworkResponseInfo değerini döndürür.
adNetworkClassName Reklamı yükleyen reklam ağının uyumlulaştırma bağdaştırıcısı sınıf adını döndürür.
responseIdentifier Yanıt tanımlayıcısı, reklam yanıtının benzersiz tanımlayıcısıdır. Bu tanımlayıcıyı, reklamı Reklam İnceleme Merkezi (ARC)'nde tanımlamak ve engellemek için kullanabilirsiniz.
extrasDictionary

Reklam yanıtı hakkında ek bilgiler 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;
  }];
}

Adaptör Yanıtı Bilgileri

GADAdNetworkResponseInfo, şelale uyumlulaştırması ve teklif verme yürütme işlemlerinde hata ayıklama için kullanılabilecek, reklam yanıtına dahil edilen her bağdaştırıcının meta verilerini içerir. Listenin sırası, reklam isteği için uyumlulaştırma şelalesinin sırasıyla eşleşir.

Örnek GADAdNetworkResponseInfo çıkışı aşağıda 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ğıdaki özellikleri sağlar:

Mülk Açıklama
error Ağa gönderilen istekle ilişkili hata. Ağ bir reklamı başarıyla yüklediyse veya ağda yükleme denemesi yapılmadıysa nil değerini döndürür.
adSourceId Bu bağdaştırıcı yanıtıyla ilişkili reklam kaynağı kimliği.
adSourceInstanceId Bu bağdaştırıcı yanıtıyla ilişkili reklam kaynağı örneği kimliği.
adSourceInstanceName Bu bağdaştırıcı yanıtıyla ilişkili reklam kaynağı örneği adı. Bir getiri grubu tarafından doldurulmazsa boş dize döndürür.
adSourceName Gösterimi yayınlayan belirli reklam ağını temsil eden reklam kaynağı.
adNetworkClassName Reklamı yükleyen reklam ağı bağdaştırıcının sınıf adı.
adUnitMapping Ad Manager kullanıcı arayüzünden ayarlanan ağ yapılandırması.
latency Reklam ağının bir reklamı yüklemek için harcadığı süre. Ağ bağlantısı kurma girişiminde bulunulmadıysa 0 döndürülür.

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