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