استرداد المعلومات المتعلقة باستجابة الإعلان

لأغراض تصحيح الأخطاء والتسجيل، توفّر الإعلانات التي تم تحميلها بنجاح عنصر GADResponseInfo. يحتوي هذا العنصر على معلومات عن الإعلان الذي تم تحميله، بالإضافة إلى معلومات عن تدفق التوسط المستخدَم لتحميل الإعلان.

في الحالات التي يتم فيها تحميل الإعلان بنجاح، يحتوي عنصر الإعلان على السمة GADResponseInfo. على سبيل المثال، GADInterstitialAd.responseInfo يحصل على معلومات الاستجابة لإعلان بيني تم تحميله.

في الحالات التي يتعذّر فيها تحميل الإعلانات ولا يتوفّر سوى خطأ، يتوفّر GADResponseInfo باستخدام المفتاح GADErrorUserInfoKeyResponseInfo في قاموس userInfo الخاص بالخطأ.

Swift

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

Objective-C

- (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 معرّف الاستجابة هو معرّف فريد لاستجابة الإعلان. يمكن استخدام هذا المعرّف لتحديد الإعلان وحظره في مركز مراجعة الإعلانات.
extrasDictionary تعرض هذه الدالة معلومات إضافية عن استجابة الإعلان. قد تعرض الإضافات المفاتيح التالية:
  • ‫creative_id: رقم تعريف تصميم الإعلان المحدّد يتم عرضها للإعلانات المحجوزة فقط.
  • ‫line_item_id: معرّف السلعة للإعلان المحدّد يتم عرضها للإعلانات المحجوزة فقط.

Swift

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

Objective-C

- (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 اسم مثيل مصدر الإعلان المرتبط باستجابة المحوِّل هذا. تعرض سلسلة فارغة إذا لم يتم ملؤها من خلال مجموعة أرباح.
adSourceName مصدر الإعلان الذي يمثّل شبكة الإعلانات المحدّدة التي تعرض مرّة الظهور
adNetworkClassName اسم فئة محوِّل شبكة الإعلانات الذي حمّل الإعلان.
adUnitMapping إعدادات الشبكة التي تم ضبطها من واجهة مستخدم "إدارة إعلانات Google"
latency مقدار الوقت الذي استغرقته شبكة الإعلانات في تحميل إعلان تعرض هذه الدالة 0 إذا لم تتم محاولة الاتصال بالشبكة.

Swift

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

Objective-C

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