افزودن نظارت سفارشی برای درخواستهای شبکه خاص (برنامههای اپل و اندروید)
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Performance Monitoringردیابی هایی را جمع آوری می کند تا به شما در نظارت بر عملکرد برنامه خود کمک کند. ردیابی گزارشی از داده های عملکردی است که بین دو نقطه از زمان در برنامه شما ثبت شده است.
ردیابی درخواست شبکه به طور خودکار توسط Performance Monitoring جمعآوری میشود، بیشتر درخواستهای شبکه برای برنامه شما را شامل میشود. با این حال، برخی از درخواستها ممکن است گزارش نشوند یا ممکن است از کتابخانه دیگری برای درخواستهای شبکه استفاده کنید. در این موارد، میتوانید از Performance Monitoring API برای ابزارسازی دستی ردیابی درخواست شبکه سفارشی استفاده کنید. ردیابی درخواست شبکه سفارشی فقط برای برنامه های اپل و اندروید پشتیبانی می شود.
معیارهای پیشفرض برای ردیابی درخواست شبکه سفارشی مانند مواردی است که برای ردیابی درخواست شبکه بهطور خودکار توسط Performance Monitoring جمعآوری میشود، بهویژه زمان پاسخ، اندازه بار پاسخ و درخواست، و میزان موفقیت. ردیابی درخواست شبکه سفارشی از افزودن معیارهای سفارشی پشتیبانی نمیکند.
در کد خود، ابتدا و انتهای یک ردیابی درخواست شبکه سفارشی را با استفاده از API های ارائه شده توسط Performance Monitoring SDK تعریف می کنید.
ردیابیهای درخواست شبکه سفارشی در کنسول Firebase در کنار درخواستهای شبکه که Performance Monitoring به طور خودکار ثبت میکند (در زیربرگه درخواستهای شبکه جدول ردیابی) ظاهر میشود.
ردیابی درخواست شبکه سفارشی را اضافه کنید
از Performance Monitoring HTTPMetric API ( Swift | Obj-C ) برای اضافه کردن ردیابی درخواست شبکه سفارشی برای نظارت بر درخواست های شبکه خاص استفاده کنید.
برای تنظیم دستی درخواستهای شبکه سفارشی در Performance Monitoring ، کدی شبیه به زیر اضافه کنید:
سویفت
توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، watchOS در دسترس نیست.
تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Add custom monitoring for specific network requests (Apple & Android apps)\n\n\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---------------------------------\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\n### Swift\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\n### Objective-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\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."]]