למטרות ניפוי באגים ורישום ביומן, מודעות שנטענו בהצלחה מספקות אובייקט GADResponseInfo
. האובייקט מכיל מידע על המודעה שהוא נטען, בנוסף למידע על רשימת הרשתות בתהליך בחירת הרשת ששימשה לטעינת המודעה.
במקרים שבהם מודעה נטענת בהצלחה, לאובייקט המודעה יש מאפיין GADResponseInfo
. לדוגמה, הקוד GADInterstitialAd.responseInfo
מקבל את פרטי התגובה של מודעת מעברון שנטענה.
במקרים שבהם מודעות לא נטענות ומוצגת רק הודעת שגיאה, אפשר להשתמש במפתח GADErrorUserInfoKeyResponseInfo
במילון userInfo
של השגיאה GADResponseInfo
.
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
כוללים:
מאפיין (property) | תיאור |
---|---|
adNetworkInfoArray |
מחזירה את הרשימה של GADAdNetworkResponseInfo עם מטא-נתונים לכל מתאם שנכלל בתגובה למודעה. אפשר להשתמש בנתונים האלה כדי לנפות באגים בתהליך בחירת הרשת (Mediation) ב-Waterfall ובביצוע הבידינג. הסדר של
הרשימה תואם את הסדר של רשימת הרשתות בתהליך בחירת הרשת עבור הבקשה הזו להצגת מודעה.
מידע נוסף זמין במאמר מידע על תגובת המתאם. |
loadedAdNetworkResponseInfo |
הפונקציה מחזירה את הערך GADAdNetworkResponseInfo שתואם למתאם
שטען את המודעה. |
adNetworkClassName |
הפונקציה מחזירה את שם המחלקה של מתאם תהליך בחירת הרשת (Mediation) של רשת המודעות שנטענו את המודעה. |
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
מכיל מטא-נתונים לכל מתאם שכלול בתגובה למודעה, וניתן להשתמש בהם לניפוי באגים בתהליך בחירת הרשת (Mediation) ב-Waterfall ובביצוע הבידינג. הסדר ברשימה תואם לסדר ברשימת הרשתות בתהליך בחירת הרשת של הבקשה להצגת מודעה.
הנה פלט לדוגמה של 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
מספק את המאפיינים הבאים:
מאפיין (property) | תיאור |
---|---|
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; }]; }