Erste Schritte mit der Leistungsüberwachung für Apple-Plattformen

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.

  1. Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete hinzufügen).
  2. Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Wählen Sie die Bibliothek Performance Monitoring aus.
  5. Fügen Sie das Flag -ObjC im Abschnitt Other Linker Flags (Weitere Verknüpfungsmerker) der Build-Einstellungen des Ziels hinzu.
  6. Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.

Konfigurieren Sie als Nächstes das Firebase-Modul:

  1. Importieren Sie das FirebaseCore-Modul in Ihre UIApplicationDelegate sowie alle anderen Firebase-Module, die Ihr App-Delegat 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;
    // ...
          
  2. Konfigurieren Sie eine freigegebene Instanz von FirebaseApp in der application(_: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];
  3. Wenn Sie SwiftUI verwenden, müssen Sie einen Anwendungsdelegierten erstellen und über UIApplicationDelegateAdaptor oder NSApplicationDelegateAdaptor an das App-Objekt 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()
          }
        }
      }
    }
          
  4. 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.

  1. Fahren Sie mit der Entwicklung Ihrer App mit einem Simulator oder Testgerät fort.

  2. Erzeugen Sie Ereignisse, indem Sie Ihre App mehrmals zwischen Hintergrund und Vordergrund wechseln, mit Ihrer App interagieren, indem Sie zwischen Bildschirmen wechseln, und/oder Netzwerkanfragen auslösen.

  3. 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

  1. So aktivieren Sie die Debug-Protokollierung:

    1. Wählen Sie in Xcode (mindestens Version 15.2) Produkt > Schema > Schema bearbeiten aus.
    2. Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.
    3. Fügen Sie im Bereich Beim Start übergebene Argumente -FIRDebugEnabled hinzu.
  2. Prüfen Sie die Protokollmeldungen auf Fehler.

  3. Performance Monitoring kennzeichnet seine Logmeldungen mit Firebase/Performance, damit Sie sie filtern können.

  4. 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
  5. Klicken Sie auf die URL, um Ihre Daten in der Firebase Console aufzurufen. Es kann einige Minuten 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 Gruppe von Aufgaben abgeschlossen 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 Cachetreffer 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: App 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 „Leistung“ der Firebase-Konsole beobachten.

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