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 şelalesi hakkında bilgiler 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() { InterstitialAd.load( with: "ca-app-pub-3940256099942544/4411468910", 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:@"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); }]; }
Yanıt bilgileri
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: 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
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ı Reklam İnceleme Merkezi'nde (ARC) 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() { InterstitialAd.load( with: "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"]; }]; }
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: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
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.
Kampanyalar için uyumlulaştırılmış reklamlar kampanya hedefi türü için 6060308706800320801, gösterim ve tıklama hedefi türleri için ise 7068401028668408324 döndürülür. Bir reklam ağı reklam yayınladığında olası reklam kaynağı kimliklerinin listesi için Reklam kaynakları bölümüne bakın. |
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ı. |
adSourceName |
Gösterimi yayınlayan belirli reklam ağını temsil eden reklam kaynağı. Kampanyalar için,
uyumlulaştırılmış reklamlar kampanya hedefi türü için Mediated House Ads,
gösterim ve tıklama hedefi türleri için ise Reservation Campaign döndürülür. Bir reklam ağı reklam yayınladığında olası reklam kaynağı adlarının listesi için Reklam kaynakları bölümüne bakın. |
adNetworkClassName |
Reklamı yükleyen reklam ağı bağdaştırıcısının sınıf adı. |
adUnitMapping |
AdMob 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 değerini döndürür. |
Swift
fileprivate func loadInterstitial() { InterstitialAd.load( with: "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; }]; }