Hata ayıklama ve günlük kaydı amacıyla, başarıyla yüklenen reklamlar bir GADResponseInfo nesnesi sağlar. Bu nesne, yüklenen reklamla ilgili bilgilerin yanı sıra reklamı yüklemek için kullanılan uyumlulaştırma şelalesiyle ilgili bilgileri de içerir.
Reklamın başarıyla yüklendiği durumlarda reklam nesnesinin 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 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 bulabilirsiniz:
** 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'daki tesisler şunları içerir:
| Mülk | Açıklama |
|---|---|
adNetworkInfoArray |
Reklam yanıtına dahil edilen her bağdaştırıcı için meta veriler içeren GADAdNetworkResponseInfo listesini döndürür. Şelale uyumlulaştırma ve teklifli sistem yürütmesinde hata 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 Adaptör Yanıt Bilgileri'ne göz atı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ısı, 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 bilgiler 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"]; }]; }
Uyarlayıcı Yanıt Bilgileri
GADAdNetworkResponseInfo
Şelale uyumlulaştırması ve teklifli sistem yürütmesinde hata ayıklamak için kullanılabilecek,
reklam yanıtına dahil edilen her bağdaştırıcıyla ilgili meta verileri içerir. Listenin sırası, reklam isteği için uyumlulaştırma şelalesinin sırasıyla eşleşir.
Aşağıda örnek bir GADAdNetworkResponseInfo çıkışı verilmiştir:
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 yapılan 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ış reklam kampanya hedefi türü için 6060308706800320801, gösterim ve tıklama hedefi türleri için 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ğinin adı. |
adSourceName |
Gösterimi yayınlayan belirli reklam ağını temsil eden reklam kaynağı. Kampanyalar için,
uyumlulaştırılmış reklamlar için Mediated House Ads
kampanya hedefi türü,
gösterim ve tıklama için Reservation Campaign
hedef türleri 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 döndürülü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; }]; }