Rozpocznij korzystanie z monitorowania wydajności dla platform Apple

Zanim zaczniesz

Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu Apple .

Krok 1 : Dodaj monitorowanie wydajności do swojej aplikacji

Po dodaniu pakietu SDK do monitorowania wydajności Firebase automatycznie zaczyna zbierać dane dotyczące renderowania ekranu aplikacji, dane związane z cyklem życia aplikacji (np. czas rozpoczęcia aplikacji ) oraz dane dotyczące żądań sieciowych HTTP/S .

Użyj Menedżera pakietów Swift, aby zainstalować zależności Firebase i zarządzać nimi.

  1. W Xcode, przy otwartym projekcie aplikacji, przejdź do File > Add Packages .
  2. Po wyświetleniu monitu dodaj repozytorium SDK platform Firebase Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Wybierz bibliotekę monitorowania wydajności.
  5. Dodaj flagę -ObjC do sekcji Inne flagi linkera w ustawieniach kompilacji celu.
  6. Po zakończeniu Xcode automatycznie rozpocznie rozwiązywanie i pobieranie zależności w tle.

Następnie skonfiguruj moduł Firebase:

  1. Zaimportuj moduł FirebaseCore do swojego UIApplicationDelegate , a także wszelkie inne moduły Firebase, których używa delegat aplikacji. Na przykład, aby użyć Cloud Firestore i uwierzytelniania:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Szybki

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Cel C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Skonfiguruj udostępnioną instancję FirebaseApp w aplikacji delegata application(_:didFinishLaunchingWithOptions:) metoda:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Szybki

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Cel C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Jeśli używasz SwiftUI, musisz utworzyć delegata aplikacji i dołączyć go do struktury App za pośrednictwem UIApplicationDelegateAdaptor lub NSApplicationDelegateAdaptor . Musisz także wyłączyć przełączanie delegatów aplikacji. Aby uzyskać więcej informacji, zapoznaj się z instrukcjami SwiftUI .

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Skompiluj ponownie aplikację.

Krok 2 : Wygeneruj zdarzenia wydajnościowe do początkowego wyświetlenia danych

Firebase rozpoczyna przetwarzanie zdarzeń po pomyślnym dodaniu pakietu SDK do swojej aplikacji. Jeśli nadal rozwijasz się lokalnie, wejdź w interakcję ze swoją aplikacją, aby wygenerować zdarzenia na potrzeby wstępnego gromadzenia i przetwarzania danych.

  1. Kontynuuj rozwijanie aplikacji za pomocą symulatora lub urządzenia testowego.

  2. Generuj zdarzenia, kilkakrotnie przełączając aplikację między tłem a pierwszym planem, wchodząc w interakcję z aplikacją poprzez nawigację między ekranami i/lub wyzwalając żądania sieciowe.

  3. Przejdź do panelu Wydajność konsoli Firebase. Początkowe dane powinny pojawić się w ciągu kilku minut.

    Jeśli nie widzisz danych początkowych, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów .

Krok 3 : (Opcjonalnie) Wyświetl komunikaty dziennika dotyczące zdarzeń związanych z wydajnością

  1. Włącz rejestrowanie debugowania w następujący sposób:

    1. W Xcode (minimum wersja 14.1) wybierz opcję Produkt > Schemat > Edytuj schemat .
    2. Wybierz opcję Uruchom z lewego menu, a następnie wybierz kartę Argumenty .
    3. W sekcji Argumenty przekazywane przy uruchomieniu dodaj -FIRDebugEnabled .
  2. Sprawdź komunikaty dziennika pod kątem komunikatów o błędach.

  3. Monitorowanie wydajności oznacza swoje komunikaty dziennika za pomocą Firebase/Performance dzięki czemu można filtrować komunikaty dziennika.

  4. Sprawdź następujące typy dzienników wskazujące, że Monitorowanie wydajności rejestruje zdarzenia dotyczące wydajności:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Kliknij adres URL, aby wyświetlić dane w konsoli Firebase. Aktualizacja danych na pulpicie nawigacyjnym może zająć kilka chwil.

Jeśli Twoja aplikacja nie rejestruje zdarzeń związanych z wydajnością, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów .

Krok 4 : (Opcjonalnie) Dodaj niestandardowe monitorowanie dla określonego kodu

Aby monitorować dane dotyczące wydajności powiązane z konkretnym kodem w aplikacji, możesz instrumentować niestandardowe ślady kodu .

Dzięki niestandardowemu śledzeniu kodu możesz zmierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. załadowanie zestawu obrazów lub wykonanie zapytania w bazie danych. Domyślną metryką dla niestandardowego śledzenia kodu jest czas jego trwania, ale można również dodać niestandardowe metryki, takie jak trafienia w pamięci podręcznej i ostrzeżenia dotyczące pamięci.

W swoim kodzie definiujesz początek i koniec niestandardowego śledzenia kodu (i dodajesz dowolne niestandardowe metryki) za pomocą interfejsu API udostępnianego przez zestaw SDK do monitorowania wydajności.

Odwiedź stronę Dodaj monitorowanie dla określonego kodu , aby dowiedzieć się więcej o tych funkcjach i sposobie dodawania ich do swojej aplikacji.

Krok 5 : Wdróż aplikację, a następnie sprawdź wyniki

Po sprawdzeniu monitorowania wydajności przy użyciu symulatora Xcode i co najmniej jednego urządzenia testowego możesz wdrożyć zaktualizowaną wersję aplikacji dla użytkowników.

Możesz monitorować dane dotyczące wydajności w panelu wydajności w konsoli Firebase.

Znane problemy

  • W Monitorowaniu wydajności występują znane problemy ze zgodnością z GTMSQLite. Zalecamy, aby nie używać Monitorowania wydajności z aplikacjami korzystającymi z GTMSQLite.
  • Zmiana metody po wywołaniu FirebaseApp.configure() może zakłócać działanie zestawu SDK do monitorowania wydajności.
  • Znane problemy z symulatorem systemu iOS 8.0–8.2 uniemożliwiają monitorowaniu wydajności przechwytywanie zdarzeń związanych z wydajnością. Te problemy zostały rozwiązane w symulatorze iOS 8.3 i nowszych wersjach.
  • Połączenia nawiązane przy użyciu backgroundSessionConfiguration NSURLSession będą wykazywać dłuższe niż oczekiwane czasy połączenia. Połączenia te są wykonywane poza procesem, a czasy odzwierciedlają zdarzenia wywołania zwrotnego w procesie.

Następne kroki