W przypadku każdej aplikacji Crashlyticsautomatycznie oblicza i wyświetla dane dotyczące braku awarii, a w szczególności odsetek użytkowników, których sesje przebiegły bez awarii, oraz odsetek sesji, które przebiegły bez awarii. 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 błędach
W przypadku większości aplikacji wskaźniki dotyczące braku awarii są obliczane automatycznie po zintegrowaniu Crashlytics pakietu SDK z aplikacją. W niektórych sytuacjach Crashlytics nie otrzymuje jednak danych niezbędnych do obliczenia tych wskaźników:
kompilacje aplikacji, które używają starej wersji pakietu SDK Crashlytics (więcej informacji o minimalnych obsługiwanych wersjach znajdziesz poniżej);
wersje aplikacji, które wyłączają automatyczne zbieranie i raportowanie danych Crashlytics (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 braku awarii, musisz zaktualizować aplikację, aby używała pakietu SDK w Crashlytics wersji, 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: 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 są dane dotyczące braku awarii?
Dane dotyczące braku awarii obejmują użytkowników, u których nie wystąpił błąd i sesje bez awarii.
Dane o użytkownikach, u których nie wystąpił błąd, zależą od 2 pojęć: użytkowników i sesji. Aby uzyskać dane o aplikacji bez awarii, musisz używać wersji pakietu SDK Crashlytics, która może wysyłać dane o obu tych pojęciach. Oto jak Crashlyticsodróżnia użytkownika od sesji:
Użytkownik to pojedyncza instalacja aplikacji na urządzeniu. Jeśli np. użytkownik ma zainstalowaną aplikację na kilku różnych urządzeniach, Crashlytics zliczy każdą instalację jako innego, unikalnego 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 wskaźniki bezawaryjności są obliczane tylko w przypadku zdarzeń krytycznych (i nieobsłużonych wyjątków zgłaszanych jako krytyczne w przypadku Unity i Fluttera).
Czym jest wskaźnik użytkowników, u których nie wystąpił błąd?
Dane użytkownicy, u których nie wystąpiła żadna awaria to odsetek użytkowników, którzy weszli w interakcję z Twoją aplikacją w wybranym okresie, ale nie wystąpiła u nich żadna awaria. Ten wskaźnik odzwierciedla wrażenia, jakie Twoja aplikacja zapewnia pojedynczemu użytkownikowi. Jest to często śledzony kluczowy wskaźnik kondycji całej aplikacji, gdy celem jest ogólna wygoda użytkowników.
Te dane mogą być szczególnie przydatne 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ć od miejsca, w którym skończył. Użytkownicy zwykle korzystają z tych aplikacji w ramach dłuższych sesji, często wielosesyjnych, dlatego ważniejsze jest zmaksymalizowanie łącznej liczby użytkowników, których sesje przebiegły bez awarii, 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 online, 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 sesji bez awarii to odsetek sesji, które miały miejsce w wybranym okresie i nie zakończyły się awarią. Sesje bez awarii wskazują na 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ę i porzucenie aplikacji.
Ten wskaźnik jest często preferowany w przypadku tych typów aplikacji:
Aplikacje o krótkim i intensywnym użytkowaniu, takie jak gry w czasie rzeczywistym lub aplikacje do przesyłania strumieniowego, w których awaria w kluczowym momencie może być bardzo frustrująca dla 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 dotyczących braku awarii
Jak obliczana jest liczba użytkowników, u których nie wystąpił błąd?
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 awaria.
Oto wzór na obliczanie odsetka użytkowników, u których nie wystąpiły awarie: Wartości wejściowe są dostarczane przez Crashlytics SDK i zależą od okresu, który wybierzesz w menu w prawym górnym rogu pulpitu Crashlytics.
CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)
CRASHED_USERS to łączna liczba unikalnych użytkowników, u których w wybranym okresie wystąpił błąd.
ALL_USERS to łą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ły awarie, to agregacja w czasie, a nie średnia.
Wartości użytkowników bez awarii nie należy porównywać w różnych okresach. Prawdopodobieństwo wystąpienia awarii u pojedynczego użytkownika rośnie wraz z liczbą korzystań z aplikacji, więc w przypadku dłuższych okresów wartość „Użytkownicy, u których nie wystąpiła awaria” będzie prawdopodobnie mniejsza.
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 doszło do awarii.
Oto formuła obliczania odsetka sesji bez awarii. Wartości wejściowe są dostarczane przez Crashlytics SDK i zależą od okresu, który wybierzesz w menu w prawym górnym rogu pulpitu 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 oznacza łączną liczbę sesji, które miały miejsce w Twojej 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 udostępnianie (a nie od wszystkich użytkowników). Oznacza to, że wskaźniki dotyczące braku awarii mogą być mniej wiarygodne i mniej odzwierciedlać ogólną stabilność aplikacji.
Jeśli masz wyłączone automatyczne zbieranie danych, możesz użyć parametru
sendUnsentReports, aby wysyłać do Crashlytics raporty zapisane w pamięci podręcznej na urządzeniu. Ta metoda spowoduje wysłanie danych o awariach do Crashlytics, ale nie danych o sesjach, co sprawi, że na wykresach w konsoli będą widoczne niskie lub zerowe wartości wskaźników bez awarii.