Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Zacznij korzystać z Firebase Crashlytics

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W tym krótkim wprowadzeniu opisano, jak skonfigurować Firebase Crashlytics w swojej aplikacji za pomocą wtyczki Crashlytics Flutter, aby uzyskać szczegółowe raporty o awariach w konsoli Firebase.

Konfiguracja Crashlytics wymaga użycia zarówno narzędzia wiersza poleceń, jak i IDE. Aby dokończyć konfigurację, musisz wymusić zgłoszenie wyjątku testowego, aby wysłać pierwszy raport o awarii do Firebase.

Zanim zaczniesz

  1. Jeśli jeszcze tego nie zrobiłeś, skonfiguruj i zainicjuj Firebase w swoim projekcie Flutter.

  2. Zalecane : aby korzystać z funkcji, takich jak użytkownicy bez awarii, dzienniki nawigacyjne i alerty dotyczące szybkości, musisz włączyć Google Analytics w swoim projekcie Firebase.

    Wszystkie platformy Android i Apple obsługiwane przez Crashlytics (z wyjątkiem watchOS) mogą korzystać z tych funkcji Google Analytics.

    Upewnij się, że Google Analytics jest włączone w Twoim projekcie Firebase: przejdź do > Ustawienia projektu > karta Integracje , a następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranie dla Google Analytics.

Krok 1 : Dodaj Crashlytics do swojego projektu Flutter

  1. W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. Z katalogu głównego projektu Flutter uruchom następujące polecenie:

    flutterfire configure
    

    Uruchomienie tego polecenia gwarantuje, że konfiguracja Firebase aplikacji Flutter jest aktualna, a w przypadku systemu Android dodaje do aplikacji wymaganą wtyczkę Crashlytics Gradle.

  3. Po zakończeniu odbuduj swój projekt Flutter:

    flutter run
    

Krok 2 : Skonfiguruj programy obsługi awarii

Możesz automatycznie wyłapać wszystkie błędy, które są zgłaszane w ramach struktury Flutter, nadpisując FlutterError.onError z FirebaseCrashlytics.instance.recordFlutterFatalError :

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  // Pass all uncaught errors from the framework to Crashlytics.
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

Jeśli używasz stref, oprzyrządowanie obsługi błędów strefy wykryje błędy, które nie są przechwycone przez platformę Flutter (na przykład w obsłudze onPressed przycisku):

void main() async {
  runZonedGuarded<Future<void>>(() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();

    FlutterError.onError =
       FirebaseCrashlytics.instance.recordFlutterFatalError;

    runApp(MyApp());
  }, (error, stack) =>
    FirebaseCrashlytics.instance.recordError(error, stack, fatal: true));
}

Aby zapoznać się z przykładami postępowania z innymi typami błędów, zobacz Dostosowywanie raportów o awariach .

Krok 3 : Wymuś awarię testową, aby zakończyć konfigurację

Aby zakończyć konfigurowanie Crashlytics i wyświetlić początkowe dane w panelu Crashlytics konsoli Firebase, musisz wymusić zgłoszenie wyjątku testowego.

  1. Dodaj do aplikacji kod, którego możesz użyć, aby wymusić zgłoszenie wyjątku testowego.

    Jeśli dodano procedurę obsługi błędów, która wywołuje FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) do Zone najwyższego poziomu , możesz użyć poniższego kodu, aby dodać do aplikacji przycisk, który po naciśnięciu powoduje wyjątek testowy:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Zbuduj i uruchom swoją aplikację.

  3. Wymuś zgłoszenie wyjątku testowego w celu wysłania pierwszego raportu aplikacji:

    1. Otwórz aplikację z urządzenia testowego lub emulatora.

    2. W swojej aplikacji naciśnij przycisk wyjątku testu dodany za pomocą powyższego kodu.

  4. Przejdź do panelu Crashlytics w konsoli Firebase, aby zobaczyć awarię testu.

    Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po pięciu minutach, włącz rejestrowanie debugowania , aby sprawdzić, czy aplikacja wysyła raporty o awariach.


I to wszystko! Crashlytics monitoruje teraz Twoją aplikację pod kątem awarii, a także błędów niekrytycznych i błędów ANR w Androidzie. Odwiedź panel Crashlytics , aby wyświetlić i zbadać wszystkie swoje raporty i statystyki.

Następne kroki