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

پلاتفرم را انتخاب کنید: Android iOS Unity Flutter Android (Legacy)

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

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

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

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

آبجکتیو-سی

- (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 شناسه پاسخ، شناسه یکتایی برای پاسخ آگهی است. از این شناسه می‌توان برای شناسایی و مسدود کردن آگهی در مرکز بازبینی آگهی استفاده کرد.
extrasDictionary اطلاعات بیشتری درباره پاسخ آگهی برمی‌گرداند. Extras ممکن است کلیدهای زیر را برگرداند:
  • ‫mediation_group_name: نام گروه میانجی‌گری
  • mediation_ab_test_name: نام آزمون آ/ب میانجی‌گری، درصورت وجود
  • mediation_ab_test_variant: متغیر استفاده‌شده در آزمون آ/ب میانجی‌گری، درصورت وجود

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

آبجکتیو-سی

- (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 را برمی‌گرداند.

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

آبجکتیو-سی

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