W przypadku każdej aplikacji Crashlyticsautomatycznie oblicza i wyświetla dane o bezawaryjnej pracy, a konkretnie odsetek użytkowników, u których nie wystąpiła awaria oraz odsetek sesji, w których nie wystąpiła awaria. Te dane pomogą Ci szybko ocenić stabilność aplikacji.
Wykresy tych danych dotyczących braku awarii znajdziesz u góry Crashlyticspanelu. Możesz je filtrować według różnych wymiarów, takich jak zakres czasu, kompilacja i (w przypadku aplikacji na Androida) Google Playścieżka.
Pamiętaj, że dane dotyczące braku awarii są obliczane tylko w przypadku zdarzeń krytycznych (i nieobsłużonych wyjątków zgłaszanych jako krytyczne w przypadku Unity i Fluttera).
Uzyskiwanie danych o bezawaryjnej pracy
W przypadku większości aplikacji wskaźniki dotyczące braku awarii są obliczane automatycznie po zintegrowaniu Crashlytics pakietu SDK z aplikacją. Istnieją jednak sytuacje, w których Crashlytics nie otrzymuje danych niezbędnych do obliczenia tych wskaźników:
kompilacje aplikacji, które używają starszej wersji pakietu SDK Crashlytics (poniżej znajdziesz informacje o minimalnych obsługiwanych wersjach);
wersje aplikacji, które wyłączają automatyczne Crashlyticszbieranie danych i raportowanie (więcej informacji znajdziesz w sekcji „Wpływ ustawień zbierania danych na jakość danych” na tej stronie);
Wersje pakietu SDK, które obsługują dane o braku awarii
Aby uzyskać dane o aplikacjach, które nie ulegają awarii, musisz zaktualizować aplikację tak, aby używała pakietu SDK w wersji Crashlytics, która obsługuje te dane. Oto minimalne obsługiwane wersje pakietu SDK Crashlytics, które mogą dostarczać dane o braku awarii:
- Platformy Apple: wersja 10.8.0 lub nowsza
- Android: 18.6.0 lub nowsza (BoM 32.6.0 lub nowsza)
- Flutter: wersja 3.4.5 lub nowsza
- Unity: 11.7.0 lub nowsza
W przypadku kompilacji aplikacji, które korzystają z zaktualizowanej wersji pakietu SDK, powinny być automatycznie dostępne dane o braku awarii.
Jakie dane są związane z bezawaryjną pracą?
Dane o bezawaryjnej pracy obejmują użytkowników i sesje bez awarii.
Dane o bezawaryjnej pracy zależą od 2 pojęć: użytkowników i sesji. Aby uzyskać wskaźniki dotyczące aplikacji bez awarii, musisz używać wersji pakietu SDK, która może przesyłać dane o obu tych pojęciach.Crashlytics Oto jak Crashlyticsodróżnia użytkownika od sesji:
Użytkownik to pojedyncza instalacja aplikacji na urządzeniu. Jeśli na przykład użytkownik ma zainstalowaną Twoją aplikację na kilku różnych urządzeniach, Crashlytics zliczy każdą instalację jako innego, niepowtarzalnego użytkownika.
Sesja to ciągły okres, w którym użytkownik korzysta z aplikacji. Nowa sesja rozpoczyna się, gdy aplikacja jest uruchamiana na zimno lub gdy po co najmniej 30 minutach działania w tle przechodzi na pierwszy plan.
Poza tym dane dotyczące braku awarii są obliczane tylko w przypadku zdarzeń krytycznych (i nieobsłużonych wyjątków zgłaszanych jako krytyczne w przypadku Unity i Fluttera).
Co to jest dane o użytkownikach, u których nie wystąpiła awaria?
Dane użytkownicy, u których nie wystąpiła awaria to odsetek użytkowników, którzy w wybranym okresie korzystali z Twojej aplikacji, ale nie wystąpiła u nich awaria. Ten wskaźnik odzwierciedla wrażenia, jakie Twoja aplikacja zapewnia pojedynczemu użytkownikowi. Jest on często traktowany jako kluczowy wskaźnik kondycji całej aplikacji, gdy celem jest ogólna wygoda użytkowników.
Ten rodzaj danych może być szczególnie przydatny w przypadku tych typów aplikacji:
Aplikacje z długimi i nieformalnymi sesjami, takie jak aplikacje do strumieniowego przesyłania treści na żądanie, aplikacje społecznościowe lub gry, w których użytkownik może kontynuować rozgrywkę w miejscu, w którym ją przerwał. Użytkownicy zwykle korzystają z tych aplikacji w ramach dłuższych sesji, często wielosesyjnych, dlatego maksymalizacja łącznej liczby użytkowników, u których nie wystąpiły awarie, ma większe znaczenie niż zapewnienie, że każda sesja będzie bezbłędna.
Aplikacje z ustabilizowaną bazą użytkowników, takie jak popularne aplikacje do pracy lub duże platformy internetowe, w przypadku których przyzwyczajenie i potrzeba korzystania z tych platform przeważają nad niedogodnościami związanymi z awarią.
Czym są dane sesje bez awarii?
Wskaźnik sesje bez awarii to odsetek sesji, które miały miejsce w wybranym okresie i nie zakończyły się awarią. Sesje bez awarii wskazują ogólną niezawodność aplikacji i budują zaufanie użytkowników. Śledzenie sesji bez awarii jest szczególnie ważne na wczesnych etapach nowej wersji, gdy awaria podczas pierwszej interakcji użytkownika może spowodować natychmiastową frustrację do tego stopnia, że użytkownik zrezygnuje z korzystania z aplikacji.
Ten wskaźnik jest często preferowany w przypadku tych typów aplikacji:
Aplikacje o krótkich i intensywnych wzorcach użytkowania, takie jak gry w czasie rzeczywistym lub aplikacje do przesyłania strumieniowego, w których awaria w kluczowym momencie może zniechęcić użytkownika.
Aplikacje o poważnych konsekwencjach, takie jak aplikacje finansowe lub nawigacyjne, w których nacisk kładzie się na końcowy stan działania. Awaria jednej z tych aplikacji może spowodować poważne problemy i utratę zaufania do niej.
Obliczanie danych o bezawaryjnej pracy
Jak obliczana jest liczba użytkowników, u których nie wystąpiła awaria?
Wartość „Użytkownicy, u których nie wystąpiła awaria” to odsetek użytkowników, którzy korzystali z Twojej aplikacji, ale w wybranym okresie nie wystąpiła u nich żadna awaria.
Wzór na obliczanie odsetka użytkowników, u których nie wystąpiła awaria: Wartości wejściowe pochodzą z Crashlytics SDK i są oparte na okresie, który wybierzesz w menu w prawym górnym rogu panelu Crashlytics.
CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)
CRASHED_USERS to łączna liczba unikalnych użytkowników, u których wystąpił błąd w wybranym okresie.
ALL_USERS – łączna liczba użytkowników, którzy weszli w interakcję z Twoją aplikacją w wybranym okresie.
Odsetek użytkowników, u których nie wystąpiła awaria, to agregacja w czasie, a nie średnia.
Wartości dotyczące użytkowników, u których nie wystąpiły awarie, nie należy porównywać w różnych okresach. Prawdopodobieństwo wystąpienia awarii u jednego użytkownika rośnie wraz z liczbą korzystań z aplikacji, więc wartość „Użytkownicy bez awarii” jest prawdopodobnie mniejsza w przypadku dłuższych okresów.
Jak obliczane są sesje bez awarii?
Wartość sesji bez awarii to odsetek sesji, które miały miejsce w aplikacji, ale w wybranym okresie nie wystąpiła w nich awaria.
Oto formuła obliczania odsetka sesji bez awarii. Wartości wejściowe pochodzą z Crashlytics SDK i są oparte na okresie, który wybierzesz w menu w prawym górnym rogu panelu Crashlytics.
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)
CRASHED_SESSIONS oznacza liczbę sesji, które zakończyły się awarią w wybranym okresie.
ALL_SESSIONS to łączna liczba sesji, które miały miejsce w aplikacji w wybranym okresie.
Odsetek sesji bez awarii to wartość zagregowana w czasie, a nie średnia.
Wpływ ustawień zbierania danych na jakość danych
W zależności od ustawień zbierania danych wskaźniki dotyczące braku awarii mogą mieć niskie lub zerowe wartości. Oto 2 typowe scenariusze, które mogą powodować niewiarygodne dane o sesjach bez awarii:
Jeśli włączysz raportowanie oparte na zgodzie użytkowników przez wyłączenie automatycznego raportowania o awariach, informacje o awariach będą mogły być wysyłane do Crashlytics tylko od użytkowników, którzy wyraźnie zgodzili się na zbieranie danych. W związku z tym dokładność wskaźników dotyczących braku awarii będzie mniejsza, ponieważ Crashlytics ma informacje o awariach tylko od tych użytkowników, którzy wyrazili zgodę na ich zbieranie (a nie od wszystkich użytkowników). Oznacza to, że dane dotyczące aplikacji bez awarii mogą być mniej wiarygodne i mniej odzwierciedlać ogólną stabilność aplikacji.
Jeśli masz wyłączone automatyczne zbieranie danych, możesz użyć
sendUnsentReports
, aby wysyłać do Crashlytics raporty zapisane w pamięci podręcznej na urządzeniu. Użycie tej metody spowoduje wysłanie danych o awariach do Crashlytics, ale nie danych o sesjach, co spowoduje, że na wykresach w konsoli będą widoczne niskie lub zerowe wartości wskaźników bez awarii.