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

اختيار النظام الأساسي: Android جديد 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;
  }];
}