Rozwiązywanie problemów z Crashlytics i najczęstsze pytania
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie znajdziesz pomoc dotyczącą rozwiązywania problemów oraz odpowiedzi na najczęstsze pytania dotyczące Crashlytics. Jeśli nie możesz znaleźć tego, czego szukasz, lub potrzebujesz dodatkowej pomocy, skontaktuj się z zespołem pomocy Firebase.
Ogólne informacje o rozwiązywaniu problemów i najczęstsze pytania
W przypadku niektórych problemów w tabeli Problemy widzę różne formaty (a czasem „warianty”).
W tabeli Problemy w konsoli Firebase możesz zobaczyć 2 różne formaty problemów. W niektórych problemach możesz też zauważyć funkcję
o nazwie „warianty”. Oto dlaczego
Na początku 2023 r. wprowadziliśmy ulepszony mechanizm analizy do grupowania zdarzeń, a także zaktualizowaliśmy interfejs i dodaliśmy kilka zaawansowanych funkcji do obsługi nowych problemów (np. wariantów). Więcej informacji znajdziesz w naszym niedawnym poście na blogu. Poniżej znajdziesz najważniejsze informacje.
Crashlytics analizuje wszystkie zdarzenia z aplikacji (np. awarie, błędy niekrytyczne i błędy ANR) oraz tworzy grupy zdarzeń o nazwie problemy – wszystkie zdarzenia w problemie mają wspólny punkt awarii.
Aby grupować zdarzenia w te problemy, ulepszony mechanizm analizy analizuje teraz wiele aspektów zdarzenia, w tym ramki w zrzucie stosu, komunikat o wyjątku, kod błędu oraz inne cechy platformy lub typu błędu.
W ramach tej grupy zdarzeń ścieżki stosu prowadzące do błędu mogą się jednak różnić. Inny zrzut stosu może oznaczać inną przyczynę problemu.
Aby uwzględnić tę możliwą różnicę w problemie, tworzymy warianty w problemach. Każdy wariant to podgrupa zdarzeń w problemie, która ma ten sam punkt awarii i podobny ślad stosu. Za pomocą wariantów możesz debugować najczęstsze ścieżki stosu w ramach problemu i określać, czy do niepowodzenia prowadzą różne przyczyny.
Oto, co się zmieni:
Zaktualizowane metadane wyświetlane w wierszu z problemem Zrozumienie i rozwiązywanie problemów w aplikacji jest teraz łatwiejsze.
Mniej problemów z duplikatami Zmiana numeru linii nie powoduje powstania nowego problemu.
Łatwiejsze debugowanie skomplikowanych problemów z różnymi przyczynami Używaj wariantów do debugowania najczęstszych ścieżek wywołań w ramach problemu.
Bardziej przydatne alerty i sygnały Nowy problem to w rzeczywistości nowy błąd.
Bardziej zaawansowane wyszukiwanie Każdy problem zawiera więcej metadanych, które można wyszukiwać, na przykład typ wyjątku i nazwę pakietu.
Oto, jak wprowadzamy te ulepszenia:
Gdy otrzymamy nowe zdarzenia z Twojej aplikacji, sprawdzimy, czy pasują one do istniejącego problemu.
Jeśli nie znajdziemy pasującego zdarzenia, automatycznie zastosujemy do niego nasz inteligentniejszy algorytm grupowania zdarzeń i utworzymy nowy problem z ulepszonym projektem metadanych.
Jest to pierwsza duża zmiana, jaką wprowadzamy w grupowaniu wydarzeń. Jeśli chcesz podzielić się opinią lub napotkasz problem, prześlij raport.
Nie widzisz danych o bezawaryjnej pracy ani alertów dotyczących szybkości
Jeśli nie widzisz danych o użytkownikach i sesjach bez awarii ani alertów dotyczących szybkości, sprawdź, czy używasz
Nie wyświetlają się logi ścieżki
Jeśli nie widzisz dzienników ścieżek, sprawdź konfigurację aplikacji pod kątem Google Analytics.
Upewnij się, że spełniasz te wymagania:
Do aplikacji
do aplikacji. Ten pakiet SDK musi zostać dodany oprócz pakietu SDK Crashlytics.
Używasz
wszystkich usług używanych w aplikacji.
Kto może wyświetlać, pisać i usuwać notatki dotyczące problemu?
Notatki umożliwiają uczestnikom projektu komentowanie konkretnych problemów, w tym pytania, aktualizacje stanu itp.
Gdy członek zespołu projektu opublikuje notatkę, zostanie ona oznaczona adresem e-mail jego konta Google. Ten adres e-mail wraz z notatką jest widoczny dla wszystkich członków projektu, którzy mają uprawnienia do wyświetlania notatek.
Poniżej znajdziesz informacje o uprawnieniach wymaganych do wyświetlania, zapisywania i usuwania notatek:
Uczestnicy projektu, którzy mają dowolną z tych ról, mogą wyświetlać i usuwać istniejące notatki oraz tworzyć nowe notatki dotyczące problemu.
Kto może wyświetlać, pisać i usuwać notatki dotyczące problemu?
Notatki umożliwiają uczestnikom projektu komentowanie konkretnych problemów, w tym pytania, aktualizacje stanu itp.
Gdy członek zespołu projektu opublikuje notatkę, zostanie ona oznaczona adresem e-mail jego konta Google. Ten adres e-mail wraz z notatką jest widoczny dla wszystkich członków projektu, którzy mają uprawnienia do wyświetlania notatek.
Poniżej znajdziesz informacje o uprawnieniach wymaganych do wyświetlania, zapisywania i usuwania notatek:
Członkowie projektu, którzy mają przypisaną dowolną z tych ról, mogą wyświetlać i usuwać istniejące notatki oraz pisać nowe na temat problemu.
Aplikacja używa też pakietu SDK Google Mobile Ads, ale nie występują awarie
Jeśli Twój projekt korzysta z biblioteki Crashlytics obok pakietu SDK Google Mobile Ads, prawdopodobnie funkcje zgłaszania awarii zakłócają rejestrowanie modułów obsługi wyjątków. Aby rozwiązać ten problem, wyłącz raportowanie awarii w pakiecie SDK Mobile Ads, wywołując metodę disableSDKCrashReporting.
Gdzie znajduje się mój zbiór danych BigQuery?
Po połączeniu Crashlytics z BigQuery nowe tworzone przez Ciebie zbiory danych są automatycznie umieszczane w Stanach Zjednoczonych niezależnie od lokalizacji projektu Firebase.
Pomoc dotycząca platformy
Problemy z regresją
Co to jest problem z powrotem do stanu poprzedniego?
Problem powrócił po tym, jak został zamknięty.Crashlytics otrzymuje nowe zgłoszenie, że problem wystąpił ponownie.
Crashlytics automatycznie ponownie otworzy te ponowne problemy, aby można było je odpowiednio rozwiązać w przypadku aplikacji.
Oto przykładowy scenariusz, który pokazuje, jak Crashlytics klasyfikuje problem jako regresję:
Po raz pierwszy Crashlytics otrzymał raport o awarii „A”. Crashlytics otwiera odpowiedni problem dotyczący tego błędu (problem „A”).
Szybko naprawiasz ten błąd, zamykasz problem „A”, a potem publikujesz nową wersję aplikacji.
Gdy zamkniesz zgłoszenie, Crashlytics otrzyma kolejny raport o problemie „A”.
Jeśli raport pochodzi z wersji aplikacji, o której użytkownik Crashlyticsznał problem w momencie zamknięcia problemu (co oznacza, że wersja wysłała raport o żadnej awarii), Crashlytics nie uzna, że problem pojawił się ponownie. Problem pozostanie zamknięty.
Jeśli raport dotyczy wersji aplikacji, o której Crashlyticsnie wiedział w momencie zamykania problemu (czyli w tej wersji nigdy nie wysłano żadnego raportu o awarii), Crashlytics uzna, że problem został rozwiązany i ponownie otworzy zgłoszenie.
Gdy problem się pogarsza, wysyłamy alert o wykryciu regresji i dodajemy do problemu sygnał regresji, aby poinformować Cię, że Crashlytics ponownie otworzył problem. Jeśli nie chcesz, aby problem został ponownie otwarty z powodu naszego algorytmu regresji, zamiast go zamykać, „wycisz” go.
Dlaczego w starszych wersjach aplikacji widzę problemy?
Jeśli raport pochodzi ze starej wersji aplikacji, która nigdy nie wysłała żadnych raportów o wypadkach, Crashlytics uzna, że problem uległ regresji, i ponownie otworzy zgłoszenie.
Może się to zdarzyć, gdy naprawisz błąd i opublikujesz nową wersję aplikacji, ale nadal masz użytkowników korzystających ze starszych wersji bez poprawki. Jeśli przez przypadek jedna ze starszych wersji nigdy w ogóle nie wysyłała raportów o awariach w momencie zamknięcia problemu, a użytkownicy zaczną napotkać ten błąd, raporty o awariach będą wywoływać ten problem.
Jeśli nie chcesz, aby problem był ponownie otwierany przez nasz algorytm regresji, „zignoruj” go, zamiast go zamknąć.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-11-06 UTC."],[],[]]