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 pakietu SDK Performance Monitoring Firebase automatycznie zacznie zbierać dane dotyczące renderowania ekranu aplikacji oraz dane związane z cyklem jej życia (np. czas uruchomienia aplikacji). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz też dodać wtyczkę Gradle Performance Monitoring (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:33.7.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") }
Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.
(Alternatywnie) Dodaj zależności biblioteki Firebase bez używania pakietu BoM
Jeśli zdecydujesz się nie używać Firebase BoM, musisz podać każdą wersję biblioteki Firebase w jej wierszu zależności.
Jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek. Dzięki temu wszystkie wersje będą ze sobą zgodne.
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:21.0.3") }
Ponowne skompilowanie aplikacji.
Krok 2. Dodaj do aplikacji wtyczkę Performance Monitoring Gradle
Po dodaniu Performance Monitoring wtyczki Gradle Firebase automatycznie zacznie zbierać dane dotyczące żądań HTTP/S. Plugin umożliwia też instrumentowanie niestandardowych ścieżek kodu za pomocą adnotacji @AddTrace.
W pliku Gradle na poziomie katalogu głównego (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) dodaj wtyczkę Gradle:Performance MonitoringKotlin
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.2" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "1.4.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.2' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj wtyczkę Gradle Performance 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' ... }
Ponowne skompilowanie aplikacji.
Krok 3. Wygeneruj zdarzenia dotyczące skuteczności na potrzeby wyświetlania początkowych danych
Firebase zaczyna przetwarzać zdarzenia, gdy dodasz pakiet SDK do aplikacji. Jeśli nadal pracujesz nad aplikacją lokalnie, generuj zdarzenia, aby umożliwić początkowe gromadzenie i przetwarzanie danych.
generować zdarzenia, przełączając aplikację kilka razy między tłem a płaszczyzną, nawiązując z nią interakcje przez przechodzenie między ekranami lub wywołując żądania sieci;
Otwórz panel Wydajność w konsoli Firebase. Pierwsze dane powinny się wyświetlić w ciągu kilku minut.
Jeśli nie widzisz wyświetlanych danych początkowych, zapoznaj się z wskazówkami dotyczącymi rozwiązywania problemów.
Krok 4. (Opcjonalnie) Wyświetlaj komunikaty z dziennika dotyczące zdarzeń związanych z wydajnością
Aby włączyć logowanie debugowania dla Performance Monitoring w czasie kompilacji, dodaj 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 logach nie ma komunikatów o błędach.
Performance Monitoring oznacza swoje komunikaty w dzienniku tagiem
FirebasePerformance
. Za pomocą filtrowania logcat możesz wyświetlić ślad długości ścieżki 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 dotyczące skutecznoś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 określonego kodu
Aby monitorować dane o wydajności powiązane z konkretnym kodem w aplikacji, możesz użyć niestandardowych logów kodu.
Dzięki niestandardowemu śledzeniu kodu możesz mierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, takich jak wczytywanie zestawu obrazów czy wysyłanie zapytania do bazy danych. Domyślnym rodzajem danych dla śledzenia kodu niestandardowego jest jego czas trwania, ale możesz też dodać niestandardowe dane, takie jak trafienia do pamięci podręcznej i ostrzeżenia dotyczące pamięci.
W kodzie definiujesz początek i koniec niestandardowego logu czasu (oraz dodajesz dowolne niestandardowe dane) 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.
Aby dowiedzieć się więcej o tych funkcjach i sposobie ich dodawania do aplikacji, przeczytaj artykuł Dodawanie monitorowania określonego kodu.
Krok 6. Wdróż aplikację, a potem sprawdź wyniki.
Po zweryfikowaniu Performance Monitoring na co najmniej 1 urządzeniu testowym możesz wdrożyć zaktualizowaną wersję aplikacji dla użytkowników.
Dane o skuteczności możesz sprawdzać w panelu Skuteczność w konsoli Firebase.
Znane problemy
Wtyczka Gradle Performance Monitoring w wersji 1.1.0 może powodować niezgodność zależności Guava, co powoduje ten błąd:
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 wersja 1.4.2).
Zastąp wiersz zależnośći wtyczki Performance Monitoring w pliku Gradle na poziomie katalogu głównego (na poziomie 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 danych w żądaniach sieci HTTP na podstawie wartości ustawionej w nagłówku długości treści HTTP. Ta wartość może nie być zawsze prawidłowa.
Performance Monitoring obsługuje tylko główny proces w wieloprocesowych aplikacjach na Androida.
Dalsze kroki
Przejrzyj i uruchom na GitHubie Performance Monitoringprzykładowy kod Androida.
Dowiedz się więcej o danych automatycznie zbieranych przez Performance Monitoring:
- Dane związane z cyklem życia aplikacji, takie jak czas rozpoczęcia aplikacji.
- Dane dotyczące renderowania ekranu w aplikacji
- Dane dotyczące żądań sieciowych HTTP/S wysyłanych przez Twoją aplikację
Wyświetlaj, śledź i filtruj dane o skuteczności w konsoli Firebase.
Dodaj monitorowanie określonych zadań lub przepływów pracy w aplikacji, za pomocą niestandardowych logów kodu.