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

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

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

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

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

سویفت

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/example/interstitial", 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:@"/21775744923/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 **
    {
        "creative_id" = "138471856178";
        "line_item_id" = "6707237225";
    }

  ** 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 اطلاعات اضافی در مورد پاسخ تبلیغ را برمی‌گرداند. موارد اضافی ممکن است کلیدهای زیر را برگردانند:
  • creative_id : شناسه‌ی آیتم خطی تبلیغ انتخاب‌شده. فقط برای تبلیغات رزرو شده برگردانده می‌شود.
  • line_item_id : شناسه‌ی سازنده‌ی آگهی انتخاب شده. فقط برای آگهی‌های رزرو شده برگردانده می‌شود.

سویفت

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/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
    let creativeID = responseInfo?.extrasDictionary["creative_id"]
    let lineItemID = responseInfo?.extrasDictionary["line_item_id"]
  }
}

هدف-سی

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/21775744923/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;
    NSString *creativeID = responseInfo.extrasDictionary[@"creative_id"];
    NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"];
  }];
}

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

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

سویفت

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/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
  }
}

هدف-سی

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