إضافة مراقبة مخصصة لطلبات شبكة محددة (تطبيقات Apple وAndroid)

تقوم مراقبة الأداء بجمع التتبعات لمساعدتك في مراقبة أداء تطبيقك. التتبع عبارة عن تقرير لبيانات الأداء التي تم التقاطها بين نقطتين زمنيتين في تطبيقك.

تتضمن تتبعات طلبات الشبكة التي يتم جمعها تلقائيًا بواسطة مراقبة الأداء معظم طلبات الشبكة لتطبيقك. ومع ذلك، قد لا يتم الإبلاغ عن بعض الطلبات أو قد تستخدم مكتبة مختلفة لتقديم طلبات الشبكة. في هذه الحالات، يمكنك استخدام واجهة برمجة تطبيقات مراقبة الأداء لإجراء عمليات تتبع طلبات الشبكة المخصصة يدويًا. لا يتم دعم عمليات تتبع طلبات الشبكة المخصصة إلا لتطبيقات Apple وAndroid.

المقاييس الافتراضية لتتبع طلب الشبكة المخصص هي نفس تلك الخاصة بتتبعات طلبات الشبكة التي يتم جمعها تلقائيًا بواسطة مراقبة الأداء، وتحديدًا وقت الاستجابة والاستجابة وحجم حمولة الطلب ومعدل النجاح. لا تدعم عمليات تتبع طلب الشبكة المخصصة إضافة مقاييس مخصصة.

في التعليمات البرمجية الخاصة بك، يمكنك تحديد بداية ونهاية تتبع طلب الشبكة المخصص باستخدام واجهات برمجة التطبيقات التي توفرها SDK لمراقبة الأداء.

تظهر آثار طلبات الشبكة المخصصة في وحدة تحكم Firebase جنبًا إلى جنب مع طلبات الشبكة التي تلتقطها مراقبة الأداء تلقائيًا (في علامة التبويب الفرعية لطلبات الشبكة بجدول التتبعات).

إضافة آثار طلب الشبكة المخصصة

استخدم واجهة برمجة تطبيقات HTTPMetric لمراقبة الأداء ( Swift | Obj-C ) لإضافة آثار طلب شبكة مخصصة لمراقبة طلبات شبكة محددة.

لإدارة طلبات الشبكة المخصصة يدويًا في مراقبة الأداء، قم بإضافة تعليمة برمجية مشابهة لما يلي:

سويفت

ملاحظة: منتج 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()

ج موضوعية

ملاحظة: منتج 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 محدد الحد الذي قمت بتعيينه.