Reklam yanıtıyla ilgili bilgi alma

Platform seçin: Android iOS Unity Flutter

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 bir GADResponseInfo özelliği vardır. Örneğin, GADInterstitialAd.responseInfo<0xx0A>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 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 üzerindeki özellikler arasında şunlar yer alır:

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 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ı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:
  • mediation_group_name: Uyumlulaştırma grubunun adı
  • mediation_ab_test_name: Varsa uyumlulaştırma A/B testinin adı.
  • mediation_ab_test_variant: Uygunsa uyumlulaştırma A/B testinde kullanılan varyant

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

Adaptör Yanıt Bilgileri

GADAdNetworkResponseInfo Şelale aracılığı ve teklifli sistem yürütülmesinde 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 çıktısı 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

Her reklam ağı için GADAdNetworkResponseInfo 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ış reklamlar 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österime hizmet veren belirli reklam ağını temsil eden reklam kaynağı. Kampanyalar için, Mediated House Ads uyumlulaştırılmış reklamlar kampanya hedefi türü için, Reservation Campaign ise gösterim ve tıklama hedefi 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ı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ğ denenmediyse 0 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;
  }];
}