W przypadku każdej aplikacji Crashlytics automatycznie oblicza i wyświetla dane dotyczące braku awarii, a konkretnie odsetek użytkowników, którzy nie doświadczyli awarii, oraz odsetek sesji bez awarii. Dzięki tym danym możesz szybko sprawdzić stabilność aplikacji.
Wykresy tych danych dotyczących sesji bez awarii znajdziesz u góry panelu Crashlytics. Możesz je filtrować według różnych wymiarów, takich jak zakres czasowy, kompilacja i (w przypadku aplikacji na Androida) ścieżka Google Play.
Pamiętaj, że dane dotyczące braku awarii są obliczane tylko w przypadku zdarzeń krytycznych (oraz nieobsługiwanych wyjątków zgłaszanych jako krytyczne w przypadku Unity i Flutter).
Uzyskiwanie danych o braku awarii
W przypadku większości aplikacji dane dotyczące braku awarii są obliczane automatycznie po zintegrowaniu pakietu SDK Crashlytics z aplikacją. Istnieją jednak sytuacje, w których Crashlytics nie otrzymuje danych niezbędnych do obliczenia danych dotyczących braku awarii:
Kompilacje aplikacji, które używają starej wersji pakietu SDK Crashlytics (poniżej znajdziesz informacje o minimalnych obsługiwanych wersjach)
kompilacje 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 otrzymywać dane o braku awarii, musisz zaktualizować aplikację, aby używała wersji pakietu SDK 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: wersja 18.6.0 lub nowsza (BoM wersja 32.6.0 lub nowsza)
- Flutter: wersja 3.4.5 lub nowsza
- Unity: 11.7.0+
Dane o braku awarii powinny być automatycznie generowane w przypadku kompilacji aplikacji, które używają zaktualizowanej wersji pakietu SDK.
Jakie są dane dotyczące sesji bez awarii?
Dane dotyczące braku awarii obejmują użytkowników, u których nie wystąpił błąd, i sesje bez awarii.
Dane dotyczące awarii zależą od 2 pojęć: użytkowników i sesji. Aby uzyskać dane o braku awarii w aplikacji, musisz używać wersji pakietu SDK Crashlytics, która może wysyłać dane dotyczące obu tych pojęć. Oto jak Crashlytics odróżnia użytkownika od sesji:
Użytkownik to pojedyncza instalacja aplikacji na urządzeniu. Jeśli na przykład użytkownik ma zainstalowaną aplikację na kilku różnych urządzeniach, Crashlytics policzy każdą instalację jako innego, unikalnego użytkownika.
Sesja to nieprzerwany okres, w którym użytkownik korzysta z aplikacji. Nowa sesja rozpoczyna się, gdy aplikacja zostanie uruchomiona na zimno lub gdy zostanie przeniesiona na pierwszy plan po co najmniej 30 minutach działania w tle.
Ponadto dane dotyczące sesji bez awarii są obliczane tylko w przypadku zdarzeń krytycznych (oraz nieobsługiwanych wyjątków zgłaszanych jako krytyczne w Unity i Flutter).
Czym są dane o użytkownikach, u których nie wystąpił błąd?
Dane użytkowników, u których nie wystąpiła awaria, to odsetek użytkowników, którzy korzystali z Twojej aplikacji w wybranym okresie, ale nie doświadczyli awarii. Ten wskaźnik odzwierciedla wrażenia, jakie zapewnia aplikacja pojedynczemu użytkownikowi. Często jest on śledzony jako kluczowy wskaźnik kondycji całej aplikacji, gdy celem jest ogólne zadowolenie użytkowników.
Te dane mogą dotyczyć tych typów aplikacji:
Aplikacje z długimi i nieformalnymi sesjami, takie jak aplikacje do odtwarzania strumieniowego na żądanie, aplikacje społecznościowe czy gry rekreacyjne, w których użytkownik może kontynuować od miejsca, w którym przerwał. Ponieważ użytkownicy zwykle korzystają z tych aplikacji przez dłuższy czas, często w ramach wielu sesji, maksymalizacja łącznej liczby użytkowników bez awarii ma pierwszeństwo przed zapewnieniem bezbłędnego działania każdej sesji.
Aplikacje z ugruntowaną bazą użytkowników, takie jak popularne aplikacje służbowe lub duże platformy internetowe, w przypadku których przyzwyczajenie i potrzeba korzystania z nich przeważają nad niedogodnościami związanymi z awarią.
Czym są dane dotyczące sesji bez awarii?
Dane 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ą 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.
Te dane są często preferowane w przypadku tych typów aplikacji:
Aplikacje, które są używane krótko i intensywnie, takie jak gry w czasie rzeczywistym lub aplikacje do odtwarzania strumieniowego, w których awaria w krytycznym momencie może być dla użytkownika bardzo frustrująca.
Aplikacje, których użycie może mieć poważne konsekwencje, takie jak aplikacje finansowe lub nawigacyjne, w których nacisk kładzie się na stan końcowy. Awaria jednej z tych aplikacji może prowadzić do poważnych problemów, co może skutkować utratą zaufania do aplikacji.
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 żadna 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 pakiet SDK Crashlytics i są oparte na okresie wybranym 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ła awaria w wybranym okresie.
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ła awaria, to agregacja w czasie, a nie średnia.
Wartości liczby użytkowników, u których nie wystąpiła awaria, nie należy porównywać w różnych okresach. Prawdopodobieństwo, że u danego użytkownika wystąpi awaria, rośnie wraz z liczbą uruchomień aplikacji, więc wartość „Użytkownicy, u których nie wystąpiła awaria” będzie prawdopodobnie mniejsza w przypadku dłuższych okresów.
Jak są obliczane sesje bez awarii?
Wartość sesji bez awarii to odsetek sesji, które miały miejsce w aplikacji, ale nie zakończyły się awarią w wybranym okresie.
Oto wzór na obliczanie odsetka sesji bez awarii. Wartości wejściowe są dostarczane przez pakiet SDK Crashlytics i są oparte na okresie wybranym w menu w prawym górnym rogu panelu Crashlytics.
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)
CRASHED_SESSIONS to liczba sesji, które zakończyły się awarią w wybranym okresie.
ALL_SESSIONS to łączna liczba sesji, które miały miejsce w Twojej aplikacji w wybranym okresie.
Odsetek sesji bez awarii to agregacja 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 sesji bez awarii mogą mieć niskie lub zerowe wartości. Oto 2 typowe sytuacje, które mogą powodować, że dane o braku awarii są niewiarygodne:
Jeśli włączysz zgłaszanie awarii po wyrażeniu zgody przez wyłączenie automatycznego zgłaszania awarii, informacje o awariach będą mogły być wysyłane do usługi Crashlytics tylko od użytkowników, którzy wyraźnie zgodzili się na zbieranie danych. Wpłynie to na dokładność danych dotyczących sesji bez awarii, ponieważ Crashlytics będzie mieć informacje o awariach tylko od tych użytkowników, którzy wyrazili zgodę (a nie od wszystkich użytkowników). Oznacza to, że dane dotyczące sesji 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ć raporty z pamięci podręcznej na urządzeniu do Crashlytics. Użycie tej metody spowoduje wysłanie do Crashlytics danych o awariach, ale nie danych o sesjach, co spowoduje, że wykresy w konsoli będą pokazywać niskie lub zerowe wartości wskaźników dotyczących sesji bez awarii.