הוספת מעקב מותאם אישית לבקשות רשת ספציפיות (אפליקציות ל-Apple ול-Android)


Performance Monitoring אוסף מעקבים כדי לעזור לכם לעקוב אחרי הביצועים של האפליקציה. מעקב הוא דוח של נתוני ביצועים שצולמו בין שתי נקודות זמן באפליקציה.

מעקב הבקשות מהרשת שנאסף באופן אוטומטי על ידי Performance Monitoring כולל את רוב הבקשות מהרשת של האפליקציה. עם זאת, יכול להיות שחלק מהבקשות לא ידווחו, או שאתם משתמשים בספרייה אחרת כדי לשלוח בקשות מהרשת. במקרים כאלה, אפשר להשתמש ב-API Performance Monitoring כדי להטמיע באופן ידני מעקב אחר בקשות רשת בהתאמה אישית. מעקבים בהתאמה אישית אחר בקשות רשת נתמכים רק באפליקציות של Apple ו-Android.

מדדי ברירת המחדל של מעקב מותאם אישית אחר בקשות רשת זהים לאלה של מעקב הבקשות ברשת שנאסף באופן אוטומטי על ידי Performance Monitoring, ובפרט זמן התגובה, גודל המטען הייעודי של התשובה והבקשה ושיעור ההצלחה. במעקב אחרי בקשות ברשת בהתאמה אישית אי אפשר להוסיף מדדים מותאמים אישית.

בקוד, מגדירים את ההתחלה והסיום של מעקב אחר בקשת רשת בהתאמה אישית באמצעות ממשקי ה-API שסופקו על ידי ה-SDK של Performance Monitoring.

מעקבים בהתאמה אישית לפי בקשות רשת מופיעים במסוף Firebase לצד בקשות הרשת שמתועדות ב-Performance Monitoring באופן אוטומטי (בכרטיסיית המשנה בקשות רשת בטבלת המעקב).

הוספת מעקבים מותאמים אישית של בקשות רשת

משתמשים ב-Performance Monitoring HTTPMetric API (Swift | Obj-C) כדי להוסיף מעקבים מותאמים אישית לבקשות רשת כדי לעקוב אחרי בקשות רשת ספציפיות.

כדי לשלוח באופן ידני בקשות רשת מותאמות אישית ב-Performance Monitoring, צריך להוסיף קוד שדומה לקוד הבא:

Swift

הערה: המוצר הזה של Firebase לא זמין ביעדים של macOS,‏ Mac Catalyst ו-watchOS.
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()

Objective-C

הערה: המוצר הזה של Firebase לא זמין ביעדים של macOS,‏ Mac Catalyst ו-watchOS.
@property (nonatomic) FIRHTTPMetric *metric;

- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}

מעקבים לפי בקשות רשת מותאמים אישית תומכים גם בהוספת מאפיינים מותאמים אישית (Swift | Obj-C), אבל לא במדדים מותאמים אישית.

השלבים הבאים

  • מגדירים התראות לבקשות רשת שפוגעות בביצועי האפליקציה. לדוגמה, תוכלו להגדיר התראה באימייל לצוות אם זמן התגובה של תבנית URL מסוימת חורג מהסף שהגדרתם.