Zanim zaczniesz
Jeśli jeszcze tego nie zrobiono, dodaj Firebase do projektu Apple.
Krok 1. Dodaj do aplikacji element Performance Monitoring
Po dodaniu Performance Monitoringpakietu SDK Firebase automatycznie rozpocznie zbieranie danych o renderowaniu ekranu w aplikacji, danych związanych z cyklem życia aplikacji (np. czasu uruchamiania aplikacji) oraz danych dotyczących żądań sieciowych HTTP/S.
Do instalacji zależności Firebase i do zarządzania nimi możesz używać menedżera pakietów Swift.
- Po otwarciu projektu aplikacji wybierz w Xcode opcję File > Add Packages (Plik > Dodaj pakiety).
- Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
- Wybierz bibliotekę Performance Monitoring.
- Dodaj flagę
-ObjC
do sekcji Other Linker Flags (Inne flagi linkera) w ustawieniach kompilacji projektu. - Gdy skończysz, Xcode zacznie automatycznie wyszukiwać i pobierać zależności w tle.
https://github.com/firebase/firebase-ios-sdk.git
Następnie skonfiguruj moduł Firebase:
- Zaimportuj moduł
FirebaseCore
w plikuUIApplicationDelegate
, a także inne moduły Firebase, których używa delegat aplikacji. Aby na przykład użyć właściwości Cloud Firestore i 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; // ...
- Skonfiguruj udostępnioną instancję
FirebaseApp
w metodzieapplication(_:didFinishLaunchingWithOptions:)
delegata aplikacji: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];
- Jeśli używasz SwiftUI, musisz utworzyć delegata aplikacji i dołączyć go do struktury
App
za pomocąUIApplicationDelegateAdaptor
lubNSApplicationDelegateAdaptor
. Musisz też wyłączyć zamianę delegata aplikacji. Więcej informacji znajdziesz w instrukcjach dotyczących SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Ponownie skompiluj aplikację.
Krok 2. Generuj zdarzenia dotyczące skuteczności na potrzeby wstępnego wyświetlania danych
Firebase rozpoczyna przetwarzanie zdarzeń po dodaniu pakietu SDK do aplikacji. Jeśli nadal pracujesz nad aplikacją lokalnie, wchodź z nią w interakcje, aby generować zdarzenia na potrzeby wstępnego zbierania i przetwarzania danych.
Kontynuuj tworzenie aplikacji za pomocą symulatora lub urządzenia testowego.
Wygeneruj zdarzenia, przełączając aplikację między tłem a pierwszym planem kilka razy, wchodząc z nią w interakcję przez poruszanie się po ekranach lub wywołując żądania sieciowe.
Otwórz panel Skuteczność w konsoli Firebase. Pierwsze dane powinny pojawić się w ciągu kilku minut.
Jeśli nie widzisz wyświetlonych danych początkowych, zapoznaj się z wskazówkami dotyczącymi rozwiązywania problemów.
Krok 3. (Opcjonalnie) Wyświetl wiadomości dziennika dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania w ten sposób:
- W Xcode (minimum w wersji 16.2) kliknij Product (Produkt) > Scheme (Schemat) > Edit scheme (Edytuj schemat).
- W menu po lewej stronie kliknij Run (Uruchom), a następnie wybierz kartę Arguments (Argumenty).
- W sekcji Arguments Passed on Launch (Argumenty przekazywane przy uruchamianiu) dodaj
-FIRDebugEnabled
.
Sprawdź, czy w komunikatach dziennika nie ma żadnych błędów.
Performance Monitoring oznacza swoje komunikaty logu tagiem
Firebase/Performance
, dzięki czemu możesz je filtrować.Sprawdź, czy występują te typy dzienników, które wskazują, że Performance Monitoring rejestruje zdarzenia związane z wydajnością:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Kliknij adres URL, aby wyświetlić dane w konsoli Firebase. Aktualizacja danych w panelu może potrwać kilka chwil.
Jeśli Twoja aplikacja nie rejestruje zdarzeń związanych z wydajnością, zapoznaj się z wskazówkami dotyczącymi rozwiązywania problemów.
Krok 4. (Opcjonalnie) Dodaj niestandardowe monitorowanie określonego kodu
Aby monitorować dane o skuteczności powiązane z określonym kodem w aplikacji, możesz instrumentować niestandardowe logi czasu.
Dzięki śledzeniu kodu niestandardowego możesz mierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. wczytanie zestawu obrazów lub wysłanie zapytania do bazy danych. Domyślne dane śledzenia kodu niestandardowego to jego czas trwania, ale możesz też dodać dane niestandardowe, takie jak trafienia w pamięci podręcznej i ostrzeżenia o pamięci.
W kodzie definiujesz początek i koniec niestandardowego logu czasu (i dodajesz dowolne niestandardowe wskaźniki) za pomocą interfejsu API udostępnianego przez pakiet SDK Performance Monitoring.
Więcej informacji o tych funkcjach i sposobie dodawania ich do aplikacji znajdziesz w artykule Dodawanie monitorowania konkretnego kodu.
Krok 5. Wdróż aplikację, a potem sprawdź wyniki.
Po sprawdzeniu Performance Monitoring za pomocą symulatora Xcode i co najmniej 1 urządzenia testowego możesz wdrożyć zaktualizowaną wersję aplikacji dla użytkowników.
Dane o skuteczności możesz monitorować w panelu Skuteczność w Firebase konsoli.
Znane problemy
- Performance Monitoring ma znane problemy ze zgodnością z GTMSQLite. Nie zalecamy używania Performance Monitoring w przypadku aplikacji, które korzystają z GTMSQLite.
- Zamiana metod po wywołaniu funkcji
FirebaseApp.configure()
może zakłócać działanie pakietu SDK Performance Monitoring. - Znane problemy z symulatorem iOS 8.0–8.2 uniemożliwiają Performance Monitoring rejestrowanie zdarzeń związanych z wydajnością. Te problemy zostały rozwiązane w symulatorze iOS 8.3 i nowszych wersjach.
- Połączenia nawiązywane za pomocą
backgroundSessionConfiguration
w NSURLSession będą miały dłuższy niż oczekiwany czas połączenia. Te połączenia są wykonywane poza procesem, a czasy odzwierciedlają zdarzenia wywołania zwrotnego w procesie.
Dalsze kroki
Przejrzyj i uruchom Performance Monitoringprzykładowy kod iOS na GitHubie.
Więcej informacji o danych zbieranych automatycznie przez Performance Monitoring:
- Dane związane z cyklem życia aplikacji, takie jak czas uruchomienia aplikacji.
- Dane dotyczące renderowania ekranu w aplikacji
- Dane dotyczące żądań sieciowych HTTP/S wysyłanych przez aplikację
Wyświetlaj, śledź i filtruj dane o skuteczności w konsoli Firebase.
Dodaj monitorowanie konkretnych zadań lub procesów w aplikacji, instrumentując niestandardowe logi czasu kodu.