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

בחירת פלטפורמה: 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 שכוללת מטא-נתונים של כל מתאם שנכלל בתגובה של המודעה. אפשר להשתמש בה כדי לנפות באגים בבידינג וב-Waterfall Mediation. הסדר ברשימה תואם לסדר של רשימת הרשתות בתהליך בחירת הרשת עבור הבקשה הזו להצגת מודעה.

מידע נוסף זמין במאמר פרטי תגובה של מתאם.

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