Benutzerdefiniertes Monitoring für bestimmte Netzwerkanfragen (Apple- und Android-Apps) hinzufügen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Performance Monitoring erfasst Traces, damit Sie die Leistung Ihrer App im Blick behalten können. Ein Trace ist ein Bericht mit Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.
Die von Performance Monitoring automatisch erfassten Traces von Netzwerkanfragen enthalten die meisten Netzwerkanfragen für Ihre App. Einige Anfragen werden jedoch möglicherweise nicht gemeldet oder Sie verwenden eine andere Bibliothek für Netzwerkanfragen. In diesen Fällen können Sie die Performance Monitoring API verwenden, um benutzerdefinierte Netzwerkanfrage-Traces manuell zu instrumentieren. Benutzerdefinierte Traces für Netzwerkanfragen werden nur für Apple- und Android-Apps unterstützt.
Die Standardmesswerte für einen benutzerdefinierten Netzwerkanfrage-Trace sind dieselben wie für die Netzwerkanfrage-Traces, die automatisch von Performance Monitoring erfasst werden, nämlich Antwortzeit, Größe der Antwort- und Anfragenutzlast sowie Erfolgsrate. Benutzerdefinierte Netzwerk-Anfrage-Traces unterstützen das Hinzufügen benutzerdefinierter Messwerte nicht.
In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Netzwerk-Anfrage-Traces mit den APIs des Performance Monitoring SDK.
Benutzerdefinierte Traces für Netzwerkanfragen werden in der Firebase-Konsole zusammen mit den Netzwerkanfragen angezeigt, die Performance Monitoring automatisch erfasst (auf dem Untertab Netzwerkanfragen der Tracetabelle).
Benutzerdefinierte Traces für Netzwerkanfragen hinzufügen
Verwenden Sie die Performance Monitoring HTTPMetric API (Swift |
Obj-C), um benutzerdefinierte Traces für Netzwerkanfragen hinzuzufügen und bestimmte Netzwerkanfragen zu überwachen.
Wenn Sie benutzerdefinierte Netzwerkanfragen in Performance Monitoring manuell instrumentieren möchten, fügen Sie Code wie den folgenden hinzu:
Swift
Hinweis:Dieses Firebase-Produkt ist nicht für macOS-, Mac Catalyst- und watchOS-Ziele verfügbar.
Benutzerdefinierte Netzwerkanforderungs-Traces unterstützen auch das Hinzufügen benutzerdefinierter Attribute (Swift |
Obj-C), aber keine benutzerdefinierten Messwerte.
Nächste Schritte
Richten Sie Benachrichtigungen für Netzwerkanfragen ein, die die Leistung Ihrer App beeinträchtigen. Sie können beispielsweise eine E-Mail-Benachrichtigung für Ihr Team konfigurieren, wenn die Antwortzeit für ein bestimmtes URL-Muster einen von Ihnen festgelegten Schwellenwert überschreitet.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-05 (UTC)."],[],[],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."]]