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

ولأغراض تصحيح الأخطاء والتسجيل، توفِّر الإعلانات التي يتم تحميلها بنجاح 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;
  }];
}