Dostosowywanie raportów o awariach Firebase Crashlytics

W panelu Crashlytics możesz kliknąć problem i otrzymać szczegółowe w raporcie o zdarzeniach. Możesz dostosować te raporty, aby lepiej zrozumieć, co dzieje się w Twojej aplikacji i w jakich okolicznościach Crashlytics

  • Automatycznie pobieraj logi menu nawigacyjnego, jeśli aplikacja używa pakietu SDK Firebase dla Google Analytics. Logi te dają Ci wgląd w działań użytkownika, które doprowadziły do zdarzenia zebranego przez Crashlytics w Twojej aplikacji.

  • Wyłącz automatyczne zgłaszanie awarii oraz włączyć raportowanie dla użytkowników. Pamiętaj, że Crashlytics domyślnie zbiera raporty o awariach użytkowników aplikacji.

Zgłoś wyjątki

Zgłaszanie wykrytych wyjątków

Jeśli są pewne wyjątki, możesz użyć pakietu SDK Crashlytics. zgłaszaj je jako zdarzenia niekrytyczne. Te zdarzenia są rejestrowane na urządzeniu oraz jest wysyłana razem z następnym raportem o błędach krytycznych lub po ponownym uruchomieniu urządzenia przez użytkownika. w całej grze.

Możesz rejestrować wyjątki w języku C# przy użyciu następującej metody:

Crashlytics.LogException(Exception ex);

Spodziewane wyjątki możesz rejestrować w blokach try/catch w grze:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Zgłoś niewykryte wyjątki

Dotyczy niewykrytych wyjątków, które nie powodują awarii gry (na przykład wyjątki od C# w logice gry), pakiet SDK Crashlytics może je zgłaszać. jako krytyczne przez ustawienie z usługi Crashlytics.ReportUncaughtExceptionsAsFatal do true, gdzie zainicjuj Crashlytics w projekcie Unity , Zdarzenia te są zgłaszane do Crashlytics w czasie rzeczywistym bez konieczności wskazywania użytkownik może ponownie uruchomić grę.

Zgłaszając te niewyłapane wyjątki jako zdarzenia krytyczne, oznacza to, że są one wliczane do statystyk użytkowników bez awarii i alertów o szybkości działania.

Pamiętaj, że awarie natywne są zawsze zgłaszane jako zdarzenia krytyczne. Te zdarzeń są rejestrowane na urządzeniu i wysyłane, gdy użytkownik ponownie uruchomi tę grę.

void Start() {
    // Since there is no try-block surrounding this call, if an exception is thrown,
    // it is considered unexpected.
    // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true`
    // will ensure that such cases are reported as fatals.
    thirdPartyMethodThatMayThrow();
}

Dołącz raporty GWP-ASan, aby debugować problemy z uszkodzeniem pamięci

W przypadku aplikacji na Androida, które używają IL2CPP, Crashlytics może pomóc w debugowaniu awarii powodowane przez błędy pamięci natywnej podczas zbierania raportów GWP-ASan. Te mogą występować błędy związane z uszkodzeniem pamięci w aplikacji, co jest główną przyczyną luk w zabezpieczeniach aplikacji.

  • Możesz wyświetlić te dane w nowej „zrzutach stosu pamięci” Tab. do szczegółów problemu Panel Crashytics.

  • Można też skorzystać z nowego „raportu GWP-ASan” sygnału i filtra, aby szybko wyświetlić wszystkich problemów z tymi danymi.

Możesz otrzymywać raporty dotyczące pamięci GWP-ASan, jeśli Twoja aplikacja korzysta z najnowszego pakietu SDK Crashlytics dla Unity (10.7.0+) i ma Jawne włączenie GWP-ASan (wymaga zmodyfikować plik manifestu aplikacji na Androida). Jeśli masz w aplikacji kod w języku C++, możesz przetestować konfigurację GWP-ASan za pomocą przykładowy kod natywny znajdziesz w dokumentacji Androida.

Dodaj klucze niestandardowe

Klucze niestandardowe pomagają uzyskać konkretny stan aplikacji, który doprowadził do awarii. Dowolne pary klucz-wartość możesz powiązać z raportami o awariach, a następnie użyć funkcji niestandardowe klucze do wyszukiwania i filtrowania raportów o awariach w konsoli Firebase.

  • W panelu Crashytics możesz wyszukiwać problemy pasujące do klucza niestandardowego.
  • Podczas sprawdzania konkretnego problemu w konsoli możesz wyświetlić powiązane klucze niestandardowe dla każdego zdarzenia (podkarta Klucze), a nawet filtrować dane zdarzeń według kluczy niestandardowych (menu Filtr u góry strony).
.

Jeśli zostanie wywołana kilka razy, nowe wartości istniejących kluczy zaktualizują wartość, Podczas rejestrowania wypadku przechwytywana jest tylko najnowsza wartość.

Crashlytics.SetCustomKey(string key, string value);

Dodaj niestandardowe komunikaty logu

Zapisane wiadomości są powiązane z danymi awarii i są widoczne w w panelu Firebase Crashlytics podczas wyświetlania konkretnej awarii.

Crashlytics.Log(string message);

Ustawianie identyfikatorów użytkowników

Do jednoznacznego zidentyfikowania identyfikatora możesz użyć numeru identyfikacyjnego, tokena lub zahaszowanej wartości. użytkownika aplikacji bez ujawniania ani przekazywania żadnych danych osobowych. Możesz też usunąć wartość, zostawiając ją pustą. ciągu znaków. Ta wartość jest wyświetlana w panelu Firebase Crashlytics, gdy wyświetlając konkretną awarię.

Crashlytics.SetUserId(string identifier);

Pobierz logi menu nawigacyjnego

Logi menu nawigacyjnego pozwalają lepiej poznać interakcje użytkownika do których doprowadziło do awarii, błędu niekrytycznego lub błędu ANR. Takie logi mogą może być pomocna przy odtworzeniu i debugowaniu problemu.

Logi menu nawigacyjnego są generowane przez Google Analytics, więc aby je uzyskać, musisz Trzeba włącz Google Analytics. dla projektu Firebase dodaj pakiet SDK Firebase dla Google Analytics do Twojej aplikacji. Po spełnieniu tych wymagań logi menu nawigacyjnego są automatycznie tworzone dołączany do danych zdarzenia na karcie Logi podczas wyświetlania szczegółów zdarzenia. danego problemu.

Pakiet SDK Analytics automatycznie rejestruje zdarzenie screen_view który pozwala w dziennikach menu nawigacyjnego wyświetlać listę ekranów wyświetlonych przed awarii, niekrytycznego ani błędu ANR. Log menu nawigacyjnego screen_view zawiera element firebase_screen_class.

W logach menu nawigacyjnego znajdują się też: niestandardowych zdarzeń rejestrowanych ręcznie na , w tym dane parametrów zdarzenia. Te dane pomagają wyświetlić serię działań użytkownika, które doprowadziły do awarii, błędów niekrytycznych lub błędów ANR.

Pamiętaj, że możesz jak kontrolować zbieranie i wykorzystywanie danych Google Analytics, który zawiera dane umieszczane w dziennikach menu nawigacyjnego.

Włącz raportowanie akceptacji

Domyślnie Crashlytics automatycznie zbiera raporty o awariach dotyczące użytkowników aplikacji. Jeśli chcesz dać użytkownikom większą kontrolę nad danymi, które wysyłają, niechętnie decydują się na zgłaszanie awarii.

Aby wyłączyć automatyczne zbieranie i zainicjować Crashlytics tylko dla wybranych użytkownikom, wywołaj funkcję zastępowania zbierania danych w Crashlytics w czasie działania. wartość zastępowania utrzymuje się po uruchomieniu aplikacji, dzięki czemu Crashlytics może automatycznie zbierać raporty. Aby zrezygnować z automatycznego zgłaszania awarii, false. Gdy ustawisz wartość false, nowa wartość nie będzie obowiązują do następnego uruchomienia aplikacji.

Crashlytics.IsCrashlyticsCollectionEnabled = true

Zarządzanie danymi analizy awarii

Statystyki awarii pomagają rozwiązywać problemy, porównując Twój zanonimizowany stos umożliwia śledzenie logów innych aplikacji Firebase i informację, czy problem jest jako część większego trendu. W przypadku wielu problemów Analiza awarii zapewnia nawet zasoby aby pomóc Ci w debugowaniu awarii.

Statystyki awarii wykorzystują zbiorcze dane o awariach, aby identyfikować typowe trendy dotyczące stabilności. Jeśli nie chcesz udostępniać danych o aplikacji, możesz zrezygnować ze Statystyk awarii w menu Statystyki awarii u góry listy problemów w Crashlytics w konsoli Firebase.