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


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

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

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

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

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

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

משתמשים ב-API‏ Performance Monitoring HTTPMetric (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 ספציפית חורג מהסף שהגדרתם.