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