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.6.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 określić 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.2") }
Ponownie skompiluj aplikację.
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.
Do pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) dodaj wtyczkę do Gradle Performance Monitoring: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.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 }
Do 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 tworzysz 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ą, wchodzić z nią w interaktywność przez przełączanie się między ekranami lub wywoływanie żądań sieciowych.
Otwórz panel Wydajność w konsoli Firebase. Pierwsze dane powinny wyświetlić się 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 dziennikowe 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
. 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 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. Może minąć kilka chwil, zanim dane zostaną zaktualizowane w panelu.
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 określonym kodem w aplikacji, możesz skorzystać z niestandardowych logów czasu.
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 zapytanie bazy danych. Domyślnym rodzajem danych w przypadku śledzenia kodu niestandardowego jest jego czas trwania, ale możesz też dodać dane niestandardowe, 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ż sprawdzać czas trwania poszczególnych metod, korzystając z 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 do obsługi Gradle Performance Monitoring w wersji 1.1.0 może powodować niezgodność zależności Guawy, co może doprowadzić do tego błędu:
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ści wtyczki Performance Monitoring w pliku Gradle na poziomie głównym (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 HTTP Content-Length. Ta wartość może nie być zawsze dokładna.
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, uwzględniając logi kodu niestandardowego.