Hata ayıklama ve günlük kaydı amacıyla, başarıyla yüklenen reklamlar 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 şelalesiyle ilgili bilgileri içerir.
Reklamın başarıyla yüklendiği durumlarda reklam nesnesinin bir GADResponseInfo özelliği vardır. Örneğin,
GADInterstitialAd.responseInfo
yüklenen bir geçiş reklamının yanıt bilgilerini alır.
Reklamların yüklenemediği ve yalnızca bir hatanın mevcut olduğu durumlarda, hatanın userInfo sözlüğündeki GADErrorUserInfoKeyResponseInfo anahtarı kullanılarak GADResponseInfo kullanılabilir.
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); }]; }
Yanıt bilgisi
Yüklenen bir reklam için döndürülen hata ayıklama verilerini gösteren örnek çıkış aşağıda 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 **
{
"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
GADResponseInfo üzerindeki tesisler:
| Mülk | Açıklama |
|---|---|
adNetworkInfoArray |
Reklam yanıtına dahil edilen her bağdaştırıcı için meta verileri içeren GADAdNetworkResponseInfo listesini döndürür. Şelale uyumlulaştırması ve teklifli sistem yürütme hatalarını ayıklamak 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 Bağdaştırıcı Yanıt Bilgileri bölümüne bakın. |
loadedAdNetworkResponseInfo |
Reklamı yükleyen bağdaştırıcıya karşılık gelen 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ı, reklam yanıtının benzersiz tanımlayıcısı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. Ekstralar aşağıdaki anahtarları döndürebilir:
|
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"]; }]; }
Bağdaştırıcı Yanıt Bilgisi
GADAdNetworkResponseInfo, reklam yanıtına dahil edilen her bağdaştırıcı için meta veriler içerir. Bu meta veriler, şelale uyumlulaştırması ve teklifli sistem yürütme hatalarını ayıklamak için kullanılabilir. Listenin sırası, reklam isteği için uyumlulaştırma şelalesinin sırasıyla eşleşir.
Örnek GADAdNetworkResponseInfo çıkışı:
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ğ denenmediyse 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ş bir 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ısı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ğ denenmediyse 0 değerini döndürür. |
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; }]; }