Reklam yanıtıyla ilgili 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: "ca-app-pub-3940256099942544/4411468910", 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:@"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

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: 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 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. Ekstralar aşağıdaki anahtarları döndürebilir:

  • mediation_group_name: Uyumlulaştırma grubunun adı
  • mediation_ab_test_name: Varsa uyumlulaştırma A/B testinin adı
  • mediation_ab_test_variant: Varsa uyumlulaştırma A/B testinde kullanılan varyant

Swift

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

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: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ğ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. Kampanyalarda, uyumlulaştırılmış reklamlar kampanya hedef türü için 6060308706800320801, gösterim ve tıklama hedef 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ğı. Kampanyalarda, Mediated House Ads, uyumlulaştırılmış reklamlar kampanya hedefi türü için döndürülür ve Reservation Campaign, gösterim ve tıklama hedef türleri için 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ı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() {
  GADInterstitialAd.load(
    withAdUnitID: "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;
  }];
}