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

پلتفرم مورد نظر: اندروید، iOS، یونیتی ، فلاتر

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

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

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

سویفت

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

هدف-سی

- (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() {
  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"]
  }
}

هدف-سی

- (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 برای انواع هدف نمایش و کلیک بازگردانده می‌شود. برای فهرست نام‌های منبع تبلیغاتی ممکن، زمانی که یک شبکه تبلیغاتی به تبلیغ می‌پردازد، به Ad sources مراجعه کنید.
adNetworkClassName نام کلاس آداپتور شبکه تبلیغاتی که تبلیغ را بارگذاری کرده است.
adUnitMapping پیکربندی شبکه از رابط کاربری AdMob تنظیم شده است.
latency مدت زمانی که شبکه تبلیغاتی صرف بارگذاری یک تبلیغ کرده است. اگر شبکه تلاشی برای بارگذاری نداشته باشد، مقدار 0 را برمی‌گرداند.

سویفت

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

هدف-سی

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