אחזור מידע על התגובה למודעה

למטרות ניפוי באגים ורישום ביומן, מודעות שנטענות בהצלחה מספקות 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

הפונקציה מחזירה מידע נוסף על התגובה לבקשת המודעה. התוספת עשויה להחזיר את המפתחות הבאים:

  • mediation_group_name: שם הקבוצה לבחירת רשת (Mediation)
  • mediation_ab_test_name: השם של בדיקת ה-A/B של תהליך בחירת הרשת, אם רלוונטי
  • mediation_ab_test_variant: הווריאנט שנעשה בו שימוש בדיקת A/B של תהליך בחירת הרשת (Mediation), אם רלוונטי

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