Hinweis
Falls noch nicht geschehen, fügen Sie Ihrem Apple-Projekt Firebase hinzu.
Schritt 1: Performance Monitoring zur App hinzufügen
Nachdem Sie das Performance Monitoring SDK hinzugefügt haben, beginnt Firebase automatisch, Daten für das Bildschirm-Rendering Ihrer App, Daten zum Lebenszyklus Ihrer App (z. B. die App-Startzeit) und Daten für HTTP(S)-Netzwerkanfragen zu erfassen.
Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.
- Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete hinzufügen).
- Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
- Wählen Sie die Performance Monitoring-Bibliothek aus.
- Fügen Sie das Flag
-ObjC
dem Bereich Other Linker Flags der Build-Einstellungen des Ziels hinzu. - Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
https://github.com/firebase/firebase-ios-sdk.git
Konfigurieren Sie als Nächstes das Firebase-Modul:
- Importieren Sie das Modul
FirebaseCore
in IhreUIApplicationDelegate
sowie alle anderen Firebase-Module, die der App-Delegate verwendet. So verwenden Sie beispielsweise Cloud Firestore und Authentication:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Konfigurieren Sie eine freigegebene Instanz von
FirebaseApp
in derapplication(_:didFinishLaunchingWithOptions:)
-Methode Ihres App-Delegierten:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Wenn Sie SwiftUI verwenden, müssen Sie einen Anwendungsdelegierten erstellen und ihn über
UIApplicationDelegateAdaptor
oderNSApplicationDelegateAdaptor
an IhreApp
-Struktur anhängen. Außerdem müssen Sie das App-Delegate-Swizzling deaktivieren. Weitere Informationen finden Sie in der SwiftUI-Anleitung.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Kompilieren Sie die App neu.
Schritt 2: Leistungsereignisse für die erste Datenanzeige generieren
Firebase beginnt mit der Verarbeitung der Ereignisse, sobald Sie das SDK Ihrer App hinzugefügt haben. Wenn Sie noch lokal entwickeln, interagieren Sie mit Ihrer App, um Ereignisse für die anfängliche Datenerhebung und -verarbeitung zu generieren.
Fahren Sie mit der Entwicklung Ihrer App mit einem Simulator oder Testgerät fort.
Sie können Ereignisse generieren, indem Sie Ihre App mehrmals zwischen Hintergrund und Vordergrund wechseln, mit Ihrer App über Bildschirme interagieren und/oder Netzwerkanfragen auslösen.
Rufen Sie in der Firebase-Konsole das Dashboard „Leistung“ auf. Die ersten Daten sollten innerhalb weniger Minuten angezeigt werden.
Wenn Ihre ursprünglichen Daten nicht angezeigt werden, lesen Sie die Tipps zur Fehlerbehebung.
Schritt 3: Optional: Protokollmeldungen für Leistungsereignisse ansehen
So aktivieren Sie die Debug-Protokollierung:
- Wählen Sie in Xcode (mindestens Version 15.2) Product > Scheme > Edit scheme aus.
- Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.
- Fügen Sie im Abschnitt Beim Start übergebene Argumente
-FIRDebugEnabled
hinzu.
Prüfen Sie die Protokollmeldungen auf Fehler.
Performance Monitoring kennzeichnet seine Logmeldungen mit
Firebase/Performance
, damit Sie sie filtern können.Prüfen Sie, ob die folgenden Arten von Protokollen vorhanden sind, die darauf hinweisen, dass Performance Monitoring Leistungsereignisse protokolliert:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Klicken Sie auf die URL, um Ihre Daten in der Firebase Console aufzurufen. Es kann einen Moment dauern, bis die Daten im Dashboard aktualisiert werden.
Wenn in Ihrer App keine Leistungsereignisse protokolliert werden, lesen Sie die Tipps zur Fehlerbehebung.
Schritt 4: Optional: Benutzerdefinierte Überwachung für bestimmten Code hinzufügen
Wenn Sie Leistungsdaten im Zusammenhang mit bestimmtem Code in Ihrer App erfassen möchten, können Sie benutzerdefinierte Code-Traces instrumentieren.
Mit einem benutzerdefinierten Code-Trace können Sie messen, wie lange es dauert, bis Ihre App eine bestimmte Aufgabe oder eine Reihe von Aufgaben erledigt hat, z. B. das Laden einer Reihe von Bildern oder das Abfragen Ihrer Datenbank. Der Standardmesswert für einen benutzerdefinierten Code-Trace ist seine Dauer. Sie können aber auch benutzerdefinierte Messwerte wie Cache-Treffer und Speicherwarnungen hinzufügen.
In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Code-Traces und fügen mithilfe der vom Performance Monitoring SDK bereitgestellten API beliebige benutzerdefinierte Messwerte hinzu.
Unter Monitoring für bestimmten Code hinzufügen finden Sie weitere Informationen zu diesen Funktionen und dazu, wie Sie sie Ihrer App hinzufügen.
Schritt 5: Anwendung bereitstellen und Ergebnisse prüfen
Nachdem Sie Performance Monitoring mit dem Xcode-Simulator und einem oder mehreren Testgeräten validiert haben, können Sie die aktualisierte Version Ihrer App für Ihre Nutzer bereitstellen.
Sie können Leistungsdaten im Dashboard Leistungs der Firebase-Konsole einsehen.
Bekannte Probleme
- Performance Monitoring hat bekannte Kompatibilitätsprobleme mit GTMSQLite. Wir empfehlen, Performance Monitoring nicht mit Apps zu verwenden, die GTMSQLite verwenden.
- Das Methode-Swizzling nach dem Aufrufen von
FirebaseApp.configure()
kann das Performance Monitoring SDK beeinträchtigen. - Aufgrund bekannter Probleme mit dem iOS 8.0–8.2-Simulator können mit Performance Monitoring keine Leistungsereignisse erfasst werden. Diese Probleme wurden im Simulator für iOS 8.3 und höher behoben.
- Verbindungen, die mit
backgroundSessionConfiguration
von NSURLSession hergestellt werden, haben eine längere Verbindungszeit als erwartet. Diese Verbindungen werden außerhalb des Prozesses ausgeführt und die Zeitangaben spiegeln In-Process-Callback-Ereignisse wider.
Nächste Schritte
Sehen Sie sich das Performance Monitoring iOS-Codebeispiel auf GitHub an und führen Sie es aus.
Weitere Informationen zu den von Performance Monitoring automatisch erfassten Daten:
- Daten zum Lebenszyklus Ihrer App, z. B. Startzeit der App
- Daten für das Bildschirm-Rendering in Ihrer App
- Daten zu HTTP/S-Netzwerkanfragen, die von Ihrer App gesendet wurden
Leistungsdaten in der Firebase-Konsole ansehen, verfolgen und filtern
Sie können die Überwachung bestimmter Aufgaben oder Workflows in Ihrer App hinzufügen, indem Sie benutzerdefinierte Code-Traces instrumentieren.