Zanim zaczniesz
Dodaj Firebase do projektu aplikacji na Androida, jeśli nie korzystasz w nim jeszcze z tej usługi.
Krok 1. Dodaj pakiet SDK Performance Monitoring do aplikacji
Po dodaniu pakietu SDK Performance Monitoring Firebase automatycznie rozpocznie zbieranie danych o renderowaniu ekranu w aplikacji i danych związanych z cyklem życia aplikacji (np. o czasie uruchamiania aplikacji). Aby Firebase mogło monitorować żądania sieciowe, musisz też dodać Performance Monitoring wtyczkę Gradle (następny krok).
W pliku Gradle na poziomie modułu (aplikacji) (zwykle
<project>/<app-module>/build.gradle.ktslub<project>/<app-module>/build.gradle), dodaj zależność od biblioteki Performance Monitoring na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji biblioteki.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.0")) // Add the dependency for the Performance Monitoring library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf") }
Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywnie) Dodaj zależności biblioteki Firebase bez użycia BoM
Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewni zgodność wszystkich wersji.
dependencies { // Add the dependency for the Performance Monitoring library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf:22.0.5") }
Skompiluj ponownie aplikację.
Krok 2. Dodaj wtyczkę Performance Monitoring Gradle do aplikacji
Po dodaniu wtyczki Performance Monitoring Gradle Firebase automatycznie rozpocznie zbieranie danych o żądaniach sieciowych HTTP/S. Wtyczka umożliwia też instrumentowanie niestandardowych logów czasu za pomocą adnotacji@AddTrace.
W pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.ktslub<project>/build.gradle) dodaj Performance Monitoring wtyczkę Gradle:Kotlin
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.4" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "2.0.2" apply false }
Groovy
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.4' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '2.0.2' apply false }
W pliku Gradle na poziomie modułu (aplikacji) (zwykle
<project>/<app-module>/build.gradle.ktslub<project>/<app-module>/build.gradle) dodaj wtyczkę GradlePerformance Monitoring:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") ... }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' ... }
Skompiluj ponownie aplikację.
Krok 3. Wygeneruj zdarzenia związane z wydajnością, aby wyświetlić wstępne dane
Firebase rozpocznie przetwarzanie zdarzeń, gdy dodasz pakiet SDK do aplikacji. Jeśli nadal pracujesz lokalnie, korzystaj z aplikacji, aby generować zdarzenia na potrzeby wstępnego zbierania i przetwarzania danych.
Generuj zdarzenia, przełączając aplikację między tłem a pierwszym planem kilka razy, korzystając z aplikacji przez przechodzenie między ekranami lub wywołując żądania sieciowe.
Otwórz panel Wydajność w konsoli Firebase. W ciągu kilku minut powinny pojawić się wstępne dane.
Jeśli nie widzisz wstępnych danych, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów.
Krok 4.: (Opcjonalnie) Wyświetlaj komunikaty z logów dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania w przypadku Performance Monitoring podczas kompilacji, dodając element
<meta-data>do plikuAndroidManifest.xmlaplikacji w ten sposób:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>Sprawdź komunikaty z logów pod kątem komunikatów o błędach.
Performance Monitoring oznacza komunikaty z logów tagiem
FirebasePerformance. Za pomocą filtrowania Logcat możesz wyświetlać logi czasu oglądania i żądań sieciowych HTTP/S, uruchamiając to polecenie:adb logcat -s FirebasePerformance
Sprawdź te typy logów, które wskazują, że Performance Monitoring rejestruje zdarzenia związane z wydajnością:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging network request trace: URL
Kliknij adres URL, aby wyświetlić dane w konsoli Firebase. Aktualizacja danych w panelu może potrwać kilka minut.
Jeśli Twoja aplikacja nie rejestruje zdarzeń związanych z wydajnością, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów.
Krok 5: (Opcjonalnie) Dodaj niestandardowe monitorowanie konkretnego kodu
Aby monitorować dane o skuteczności związane z konkretnym kodem w aplikacji, możesz instrumentować niestandardowe logi czasu kodu.
Dzięki niestandardowemu logowi czasu 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ślną metryką niestandardowego logu czasu jest jego czas trwania, ale możesz też dodawać metryki 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 (oraz dodajesz dowolne metryki niestandardowe) za pomocą interfejsu API udostępnianego przez pakiet SDK Performance Monitoring. W przypadku aplikacji na Androida możesz też monitorować czas trwania konkretnych metod za pomocą adnotacji@AddTrace.
Więcej informacji o tych funkcjach i o tym, jak dodać je do aplikacji, znajdziesz w artykule Dodawanie monitorowania konkretnego kodu.
Krok 6. Wdróż aplikację i sprawdź wyniki
Po zweryfikowaniu Performance Monitoring za pomocą 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 Wydajność konsoli Firebase.
Znane problemy
Wtyczka Performance Monitoring Gradle w wersji 1.1.0 może powodować niezgodność zależności Guava, co skutkuje tym błędem:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
Jeśli widzisz ten błąd, możesz:
zaktualizować wtyczkę Performance Monitoring do wersji 1.1.1 lub nowszej (najnowsza to v2.0.2),
Zastąp wiersz zależności wtyczki Performance Monitoring w pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.ktslub<project>/build.gradle) w ten sposób:Kotlin
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath("com.google.firebase:perf-plugin:1.1.0") { exclude(group = "com.google.guava", module = "guava-jdk5") } } }
Groovy
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath('com.google.firebase:perf-plugin:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } } }
Performance Monitoring raportuje łączny rozmiar ładunku w przypadku żądań sieciowych HTTP na podstawie wartości ustawionej w nagłówku HTTP content-length. Ta wartość nie zawsze może być dokładna.
Performance Monitoring obsługuje tylko proces główny w aplikacjach na Androida z wieloma procesami.
Dalsze kroki
Sprawdź i uruchom Performance Monitoring przykładowy kod na Androida na GitHubie.
Dowiedz się więcej o danych zbieranych automatycznie przez Performance Monitoring:
- Dane związane z cyklem życia aplikacji, takie jak czas uruchamiania aplikacji
- Dane o renderowaniu ekranu w aplikacji
- Dane o żądaniach sieciowych HTTP/S wysyłanych przez aplikację
Wyświetlaj, śledź i filtruj dane o skuteczności w Firebase konsoli.
Dodaj monitorowanie konkretnych zadań lub przepływów pracy w aplikacji, by instrumentować niestandardowe logi czasu.