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

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

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

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

سریع

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))")
  }
}

هدف-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);
  }];
}

اطلاعات پاسخ

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

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

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

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

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

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

  • mediation_group_name : نام گروه میانجیگری
  • mediation_ab_test_name : نام آزمون میانجی A/B ، در صورت وجود
  • mediation_ab_test_variant : نوع مورد استفاده در آزمون میانجی A/B، در صورت وجود

سریع

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

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

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

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

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

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

ویژگی شرح
error خطای مربوط به درخواست به شبکه. اگر شبکه با موفقیت یک تبلیغ را بارگیری کند یا اگر شبکه تلاشی نکرده باشد، nil برمی گردد.
adSourceId شناسه منبع آگهی مرتبط با این پاسخ آداپتور.برای کمپین‌ها، 6060308706800320801 برای نوع هدف کمپین تبلیغات واسطه‌ای، و 7068401028668408324 برای انواع هدف‌های نمایش و کلیک برگردانده می‌شود. هنگامی که یک شبکه تبلیغاتی تبلیغ را ارائه می دهد، برای لیست شناسه های منبع آگهی احتمالی به منابع آگهی مراجعه کنید.
adSourceInstanceId شناسه نمونه منبع آگهی مرتبط با این پاسخ آداپتور.
adSourceInstanceName نام نمونه منبع تبلیغ مرتبط با این پاسخ آداپتور.
adSourceName منبع تبلیغاتی که نشان دهنده شبکه تبلیغاتی خاصی است که به نمایش ارائه می شود. برای کمپین‌ها، Mediated House Ads برای نوع هدف کمپین تبلیغات واسطه‌ای، و Reservation Campaign برای انواع هدف‌های نمایش و کلیک برگردانده می‌شود. هنگامی که یک شبکه تبلیغاتی تبلیغ را ارائه می‌کند، برای فهرست نام‌های منبع آگهی احتمالی به منابع آگهی مراجعه کنید.
adNetworkClassName نام کلاس آداپتور شبکه تبلیغاتی که آگهی را بارگیری کرده است.
adUnitMapping پیکربندی شبکه از رابط کاربری AdMob تنظیم شده است.
latency مدت زمانی که شبکه تبلیغاتی صرف بارگذاری یک آگهی کرده است. در صورت عدم تلاش برای شبکه، 0 را برمی گرداند.

سریع

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

هدف-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;
  }];
}