إضافة مراقبة مخصّصة لطلبات الشبكة المحدّدة (تطبيقات Apple وAndroid)
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تجمع Performance Monitoringعمليات التتبُّع لمساعدتك في تتبُّع أداء تطبيقك. وعملية التتبُّع هي تقرير عن بيانات الأداء التي يتم تسجيلها بين نقطتين زمنيتين في تطبيقك.
تتضمّن عمليات تتبُّع طلبات الشبكة التي يتم جمعها تلقائيًا بواسطة Performance Monitoring معظم طلبات الشبكة لتطبيقك، ولكن قد لا يتم تسجيل بعض الطلبات أو قد تستخدم مكتبة مختلفة لإجراء طلبات الشبكة. في هذه الحالات، يمكنك استخدام واجهة برمجة التطبيقات Performance Monitoring لتسجيل
عمليات تتبُّع طلبات الشبكة المخصّصة يدويًا. لا تتوفّر عمليات تتبُّع طلبات الشبكة المخصّصة إلا لتطبيقات Apple وAndroid.
تكون المقاييس التلقائية لتتبُّع طلب شبكة مخصّص هي نفسها المقاييس الخاصة بعمليات تتبُّع طلبات الشبكة التي يتم جمعها تلقائيًا بواسطة Performance Monitoring، وتحديدًا وقت الاستجابة وحجم حمولة الاستجابة والطلب ونسبة النجاح. لا تتيح عمليات تتبُّع طلبات الشبكة المخصّصة إضافة مقاييس مخصّصة.
في الرمز البرمجي، يمكنك تحديد بداية ونهاية عملية تتبُّع طلب شبكة مخصّص باستخدام واجهات برمجة التطبيقات التي توفّرها حزمة تطوير البرامج (SDK) الخاصة بـ Performance Monitoring.
تظهر عمليات تتبُّع طلبات الشبكة المخصّصة في وحدة تحكّم Firebase إلى جانب طلبات الشبكة التي تسجّلها Performance Monitoring تلقائيًا (في علامة التبويب الفرعية طلبات الشبكة ضمن جدول عمليات التتبُّع).
إضافة عمليات تتبُّع مخصّصة لطلبات الشبكة
استخدِم واجهة برمجة التطبيقات Performance Monitoring HTTPMetric
(Swift
|
Obj-C)
لإضافة عمليات تتبُّع مخصّصة لطلبات الشبكة من أجل مراقبة طلبات شبكة معيّنة.
لتسجيل طلبات الشبكة المخصّصة يدويًا في Performance Monitoring، أضِف رمزًا مشابهًا لما يلي:
Swift
ملاحظة: لا يتوفّر منتج Firebase هذا على أنظمة التشغيل macOS وMac Catalyst وwatchOS.
تتيح عمليات تتبُّع طلبات الشبكة المخصّصة أيضًا إضافة سمات مخصّصة
(Swift |
Obj-C)
ولكن ليس المقاييس المخصّصة.
الخطوات التالية
إعداد تنبيهات لطلبات الشبكة التي تؤدي إلى تدهور أداء تطبيقك، مثل إعداد تنبيه عبر البريد الإلكتروني لفريقك إذا تجاوز وقت الاستجابة لنمط عنوان URL معيّن الحدّ الذي تحدّده
تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-21 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter \n\n\u003cbr /\u003e\n\nPerformance Monitoring collects *traces* to help you monitor the performance of your app. A\ntrace is a report of performance data captured between two points in time in\nyour app.\n\nThe\n[network request traces automatically collected by Performance Monitoring](/docs/perf-mon/network-traces)\ninclude most network requests for your app. However, some requests might not be\nreported or you might use a different library to make network requests. In these\ncases, you can use the Performance Monitoring API to manually instrument\n***custom network request traces***. Custom network request traces are only\nsupported for Apple and Android apps.\n\nThe default metrics for a custom network request trace are the same as those for\nthe network request traces automatically collected by Performance Monitoring, specifically\nresponse time, response and request payload size, and success rate. Custom\nnetwork request traces do not support adding custom metrics.\n\nIn your code, you define the beginning and the end of a custom network request\ntrace using the APIs provided by the Performance Monitoring SDK.\n\nCustom network request traces appear in the Firebase console alongside the\nnetwork requests that Performance Monitoring captures automatically\n(in the *Network requests* subtab of the traces table).\n\nAdd custom network request traces\n\nUse the Performance Monitoring HTTPMetric API\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Classes/HTTPMetric)\n\\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Classes/FIRHTTPMetric))\nto add custom network request traces to monitor specific network requests.\n\nTo manually instrument custom network requests in Performance Monitoring, add code similar\nto the following: \n\nSwift\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n guard let metric = HTTPMetric(url: \"https://www.google.com\", httpMethod: .get) else { return }\n\n metric.start()\n guard let url = URL(string: \"https://www.google.com\") else { return }\n let request: URLRequest = URLRequest(url:url)\n let session = URLSession(configuration: .default)\n let dataTask = session.dataTask(with: request) { (urlData, response, error) in\n if let httpResponse = response as? HTTPURLResponse {\n metric.responseCode = httpResponse.statusCode\n }\n metric.stop()\n }\n dataTask.resume()\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n @property (nonatomic) FIRHTTPMetric *metric;\n\n - (void)beginManualNetworkInstrumentation {\n self.metric =\n [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@\"https://www.google.com\"]\n HTTPMethod:FIRHTTPMethodGET];\n\n [self.metric start];\n\n NSURLRequest *request =\n [NSURLRequest requestWithURL:[NSURL URLWithString:@\"https://www.google.com\"]];\n NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request\n delegate:self];\n [connection resume];\n }\n\n - (void)connection:(NSURLConnection *)connection\n didReceiveResponse:(NSURLResponse *) response {\n NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response\n self.metric.responseCode = httpResponse.statusCode;\n [self.metric stop];\n }\n\nCustom network request traces also support adding custom attributes\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Protocols/PerformanceAttributable#setvalue_:forattribute:) \\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Protocols/FIRPerformanceAttributable#-setvalue:forattribute:))\nbut not custom metrics.\n\nNext steps\n\n- [Set up alerts](/docs/perf-mon/alerts) for network requests that are degrading the performance of your app. For example, you can configure an email alert for your team if the *response time* for a specific URL pattern exceeds a threshold that you set."]]