Zanim zaczniesz
Jeśli jeszcze tego nie zrobiono, dodaj Firebase do projektu na Androida.
Krok 1. Dodaj do aplikacji pakiet SDK Performance Monitoring
Po dodaniu Performance Monitoringpakietu SDK Firebase automatycznie rozpocznie zbieranie danych o renderowaniu ekranu aplikacji oraz danych związanych z cyklem życia aplikacji (np. czasu uruchomienia aplikacji). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz też dodać Performance Monitoringwtyczkę Gradle (następny krok).
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj zależność z biblioteką 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.0.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ć każdą wersję biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli w aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewnia 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.0") }
Ponownie skompiluj aplikację.
Krok 2. Dodaj do aplikacji Performance Monitoring wtyczkę Gradle
Po dodaniu Performance Monitoringwtyczki 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 (projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) dodaj Performance Monitoringwtyczkę 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.3" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "2.0.0" 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.3' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '2.0.0' apply false }
W pliku Gradle modułu (na poziomie aplikacji) (zazwyczaj
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj Performance Monitoringwtyczkę Gradle: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' ... }
Ponownie skompiluj aplikację.
Krok 3. Generowanie zdarzeń dotyczących 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.
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 4. (Opcjonalnie) Wyświetl wiadomości dziennika dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania dla Performance Monitoring w momencie kompilacji, dodając element
<meta-data>
do plikuAndroidManifest.xml
aplikacji w ten sposób:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Sprawdź, czy w komunikatach dziennika nie ma żadnych błędów.
Performance Monitoring oznacza swoje wiadomości w logach symbolem
FirebasePerformance
. Korzystając z filtrowania logcat, możesz wyświetlić śledzenie czasu trwania i logowanie żądań sieciowych HTTP/S, uruchamiając to polecenie:adb logcat -s FirebasePerformance
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 5. (Opcjonalnie) Dodaj niestandardowe monitorowanie konkretnego 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. W przypadku aplikacji na Androida możesz też monitorować czas trwania określonych metod za pomocą adnotacji@AddTrace.
Więcej informacji o tych funkcjach i sposobie dodawania ich do aplikacji znajdziesz w artykule Dodawanie monitorowania konkretnego kodu.
Krok 6. Wdróż aplikację, a potem sprawdź wyniki.
Po sprawdzeniu Performance Monitoring na co najmniej jednym urządzeniu testowym 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
Wtyczka Gradle Performance Monitoring w wersji 1.1.0 może powodować niezgodność zależności Guava, co skutkuje następującym 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:
Zaktualizuj wtyczkę Performance Monitoring do wersji 1.1.1 lub nowszej (najnowsza to v2.0.0).
Zastąp wiersz zależności wtyczki Performance Monitoring w pliku Gradle na poziomie głównym (projektu) (
<project>/build.gradle.kts
lub<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ść może nie zawsze być dokładna.
Performance Monitoring obsługuje tylko główny proces w wieloprocesowych aplikacjach na Androida.
Dalsze kroki
Przejrzyj i uruchom Performance Monitoringprzykładowy kod na Androida 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.