شارك بتعليقاتك، وساعد في تشكيل خارطة طريق SDK لإعلانات Google على الجوال. عليك المشاركة في الاستطلاع السنوي لحزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة لعام 2023 قبل إغلاقه في 5 أيار (مايو) 2023.

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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

Swift

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

Objective-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: اسم اختبار أ/ب للتوسّط، إن وُجد
  • mediation_ab_test_variant: الصيغة المستخدَمة في اختبار أ/ب للتوسّط، إن وُجدت

Swift

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

Objective-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 إذا لم تتم محاولة الشبكة.

Swift

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

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