بازیابی اطلاعات در مورد پاسخ آگهی

برای اهداف اشکال زدایی و ورود به سیستم، تبلیغات با موفقیت بارگذاری شده یک شی GADResponseInfo را ارائه می دهند. این شیء حاوی اطلاعاتی در مورد تبلیغی است که بارگذاری کرده است، علاوه بر اطلاعات مربوط به آبشار میانجی که برای بارگذاری آگهی استفاده شده است.

برای مواردی که تبلیغ با موفقیت بارگیری می شود، شیء تبلیغ دارای ویژگی GADResponseInfo است. به عنوان مثال، GADInterstitialAd.responseInfo اطلاعات پاسخ را برای یک آگهی بینابینی بارگذاری شده دریافت می کند.

برای مواردی که آگهی‌ها بارگیری نمی‌شوند و فقط یک خطا در دسترس است، GADResponseInfo با استفاده از کلید GADErrorUserInfoKeyResponseInfo در فرهنگ لغت userInfo خطا در دسترس است.

سریع

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/example/interstitial", 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))")
  }
}

هدف-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/6499/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);
  }];
}

اطلاعات پاسخ

در اینجا خروجی نمونه ای است که داده های اشکال زدایی را برای یک تبلیغ بارگذاری شده نشان می دهد:

** 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 **
    {
    }

  ** 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 عبارتند از:

ویژگی شرح
adNetworkInfoArray فهرستی از GADAdNetworkResponseInfo حاوی فراداده برای هر آداپتور موجود در پاسخ آگهی را برمی‌گرداند. می توان از آن برای رفع اشکال میانجی گری آبشار و اجرای مناقصه استفاده کرد. ترتیب فهرست با ترتیب آبشار میانجی برای این درخواست آگهی مطابقت دارد.

برای اطلاعات بیشتر به اطلاعات پاسخ آداپتور مراجعه کنید.

loadedAdNetworkResponseInfo GADAdNetworkResponseInfo مربوط به آداپتوری که آگهی را بارگیری کرده است، برمی گرداند.
adNetworkClassName نام کلاس آداپتور میانجی شبکه تبلیغاتی را که آگهی را بارگیری کرده است، برمی‌گرداند.
responseIdentifier شناسه پاسخ یک شناسه منحصر به فرد برای پاسخ آگهی است. از این شناسه می توان برای شناسایی و مسدود کردن آگهی در مرکز بررسی تبلیغات (ARC) استفاده کرد.
extrasDictionary

اطلاعات اضافی درباره پاسخ آگهی را برمی گرداند.

سریع

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

هدف-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/6499/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;
  }];
}

اطلاعات پاسخ آداپتور

GADAdNetworkResponseInfo حاوی ابرداده برای هر آداپتور موجود در پاسخ آگهی است که می‌تواند برای رفع اشکال میانجی‌گری آبشار و اجرای مناقصه استفاده شود. ترتیب لیست با ترتیب آبشار میانجی برای درخواست آگهی مطابقت دارد.

در اینجا نمونه خروجی GADAdNetworkResponseInfo است:

    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 ویژگی های زیر را ارائه می دهد:

ویژگی شرح
error خطای مربوط به درخواست به شبکه. اگر شبکه با موفقیت یک تبلیغ را بارگیری کند یا اگر شبکه تلاشی نکرده باشد، nil برمی گردد.
adSourceId شناسه منبع آگهی مرتبط با این پاسخ آداپتور.
adSourceInstanceId شناسه نمونه منبع آگهی مرتبط با این پاسخ آداپتور.
adSourceInstanceName نام نمونه منبع تبلیغ مرتبط با این پاسخ آداپتور. اگر توسط یک گروه بازده پر نشده باشد یک رشته خالی را برمی گرداند.
adSourceName منبع تبلیغاتی که نشان دهنده شبکه تبلیغاتی خاصی است که به نمایش ارائه می شود.
adNetworkClassName نام کلاس آداپتور شبکه تبلیغاتی که آگهی را بارگیری کرده است.
adUnitMapping پیکربندی شبکه از رابط کاربری Ad Manager تنظیم شده است.
latency مدت زمانی که شبکه تبلیغاتی صرف بارگذاری یک آگهی کرده است. در صورت عدم تلاش برای شبکه، 0 را برمی گرداند.

سریع

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

هدف-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/6499/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;
  }];
}