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

اختيار النظام الأساسي: Android iOS Unity Flutter

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

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 معرّف الاستجابة هو معرّف فريد لاستجابة الإعلان. يمكن استخدام هذا المعرّف لتحديد الإعلان وحظره في مركز مراجعة الإعلانات.
extrasDictionary تعرض هذه السمة معلومات إضافية عن استجابة الإعلان. قد تعرض الخدمات الإضافية المفاتيح التالية:
  • mediation_group_name: اسم مجموعة التوسّط
  • mediation_ab_test_name: اسم اختبار A/B للتوسّط، إذا كان ذلك منطبقًا
  • mediation_ab_test_variant: الصيغة المستخدَمة في اختبار A/B للتوسّط، إذا كان ذلك منطبقًا

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

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() {
  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
  }
}

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