W panelu Crashlytics możesz kliknąć problem i wyświetlić 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
Dostosuj aplikację do rejestrowania kluczy niestandardowych, niestandardowe komunikaty dziennika i identyfikatory użytkowników.
Zgłaszaj wyjątki do: Crashlytics.
Automatycznie pobieraj logi menu nawigacyjnego, jeśli aplikacja używa Pakiet SDK Firebase dla platformy 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 domyślnie Crashlytics automatycznie zbiera raporty o awariach dla wszystkich użytkowników aplikacji.
Dodaj klucze niestandardowe
Klucze niestandardowe pomagają uzyskać konkretny stan aplikacji, który doprowadził do awarii. Możesz powiązać z raportami o awariach dowolne pary klucz-wartość, a następnie używać niestandardowych kluczy do wyszukiwania i filtrowania raportów o awariach w konsoli Firebase.
- W panelu Crashlytics 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).
Do ustawiania par klucz-wartość użyj metody setCustomValue
. Przykład:
Swift
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
Objective-C
Podczas ustawiania liczb całkowitych, wartości logicznych lub liczb zmiennoprzecinkowych wpisz wartość w polu @(value)
.
// Set int_key to 100. [[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set str_key to "hello". [[FIRCrashlytics crashlytics] setCustomValue:@"hello" forKey:@"str_key"];
Możesz też zmienić wartość istniejącego klucza, wywołując go i ustawiając do innej wartości. Przykład:
Swift
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
Objective-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
Dodaj pary klucz-wartość zbiorczo, używając metody setCustomKeysAndValues
z parametrem
NSDictionary jako jedyny parametr:
Swift
let keysAndValues = [ "string key" : "string value", "string key 2" : "string value 2", "boolean key" : true, "boolean key 2" : false, "float key" : 1.01, "float key 2" : 2.02 ] as [String : Any] Crashlytics.crashlytics().setCustomKeysAndValues(keysAndValues)
Objective-C
NSDictionary *keysAndValues = @{@"string key" : @"string value", @"string key 2" : @"string value 2", @"boolean key" : @(YES), @"boolean key 2" : @(NO), @"float key" : @(1.01), @"float key 2" : @(2.02)}; [[FIRCrashlytics crashlytics] setCustomKeysAndValues: keysAndValues];
Dodawanie niestandardowych komunikatów z logów
Aby uzyskać więcej informacji na temat zdarzeń prowadzących do awarii, możesz dodać niestandardowe logi Crashlytics do Twojej aplikacji. Crashlytics wiąże logi z danymi o awariach i wyświetla je na stronie Crashlytics Konsola Firebase na karcie Logi.
Swift
Aby wskazać problemy, użyj log()
lub log(format:, arguments:)
. Jeśli
by uzyskać przydatne dane wyjściowe dziennika z komunikatami, obiektem, do którego
log()
musi spełniać wymagania:
CustomStringConvertible
.
usłudze. Funkcja log()
zwraca właściwość opisu zdefiniowaną przez Ciebie dla argumentu
obiektu. Przykład:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
Wartości formatów zwrócone przez wywołanie: .log(format:, arguments:)
getVaList()
Przykład:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
Aby dowiedzieć się więcej o tym, jak korzystać z aplikacji log()
lub log(format:, arguments:)
,
zapoznaj się z Crashlytics
dokumentację referencyjną.
Objective-C
Aby wskazać problemy, użyj log
lub logWithFormat
. Pamiętaj, że jeśli
uzyskać przydatne dane wyjściowe dziennika z komunikatami – obiektem, który przekazujesz
do dowolnej z tych metod musi zastąpić właściwość instancji description
.
Przykład:
[[FIRCrashlytics crashlytics] log:@"Simple string message"]; [[FIRCrashlytics crashlytics] logWithFormat:@"Higgs-Boson detected! Bailing out... %@", attributesDict]; [[FIRCrashlytics crashlytics] logWithFormat:@"Logging a variable argument list %@" arguments:va_list_arg];
Więcej informacji o tym, jak korzystać z log
i logWithFormat
, znajdziesz w
Crashlytics dokumentację referencyjną.
Ustawianie identyfikatorów użytkowników
Aby zdiagnozować problem, często warto wiedzieć, którzy użytkownicy doświadczyli danego błędu. Crashlytics umożliwia anonimowe identyfikowanie użytkowników raporty o awariach.
Aby dodawać identyfikatory użytkowników do raportów, przypisz do każdego z nich unikalny identyfikator w postaci numeru identyfikacyjnego, tokena lub wartości zaszyfrowanej:
Swift
Crashlytics.crashlytics().setUserID("123456789")
Objective-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
Jeśli po ustawieniu identyfikatora użytkownika trzeba będzie go usunąć, zresetuj wartość do pustym ciągiem znaków. Wyczyszczenie identyfikatora użytkownika nie spowoduje usunięcia istniejącego Rekordy: Crashlytics. Jeśli musisz usunąć rekordy powiązane z użytkownikiem ID, skontaktuj się z zespołem pomocy Firebase.
Pobierz logi menu nawigacyjnego
Logi menu nawigacyjnego pozwalają lepiej poznać interakcje użytkownika do których doprowadziło do awarii, wystąpienia 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 aplikacji Google Analytics do Twojej aplikacji. Po spełnieniu tych wymagań logi menu nawigacyjnego są automatycznie tworzone dołączany do danych zdarzenia na karcie Dzienniki podczas wyświetlania szczegółów. 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
.
Logi ścieżek zawierają też wszystkie zdarzenia niestandardowe, które ręcznie rejestrujesz w sesji użytkownika, 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 kontrolować gromadzenie i wykorzystywanie danych Google Analytics, w tym danych wypełniających dzienniki ścieżek.
Włączanie raportowania zgody
Domyślnie Crashlytics automatycznie zbiera raporty o awariach na użytkowników aplikacji. Aby zapewnić użytkownikom większą kontrolę nad danymi, które wysyłają, możesz włączyć raportów, na które należy się włączyć, wyłączając automatyczne raportowanie i wysyłając dane tylko do Crashlytics, jeśli w kodzie:
Wyłącz automatyczne zbieranie danych, dodając nowy klucz do pliku
Info.plist
:- Klucz:
FirebaseCrashlyticsCollectionEnabled
- Wartość:
false
- Klucz:
Włącz zbieranie danych dla wybranych użytkowników, wywołując dane Crashlytics zastępowania kolekcji w czasie działania. Wartość zastąpienia będzie widoczna przez uruchomienia Twojej aplikacji, aby usługa Crashlytics mogła automatycznie zbierać raporty.
Aby zrezygnować z automatycznego zgłaszania awarii, podaj wartość
false
jako wartość zastąpienia. Gdy ustawisz wartośćfalse
, nowa wartość zostanie zastosowana dopiero po ponownym uruchomieniu aplikacji.Swift
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
Objective-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
Zarządzanie danymi analizy awarii
Analiza błędów pomaga rozwiązywać problemy przez porównywanie anonimowych zrzutów stosu z zrzutami z innych aplikacji Firebase. Informuje też, czy Twój problem jest częścią większego trendu. W przypadku wielu problemów statystyki awarii udostępniają nawet zasoby, które pomogą 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 Crashlytics w konsoli Firebase.