Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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
    
  4. (Opcjonalnie) Jeśli Twój projekt Flutter używa flagi --split-debug-info (i opcjonalnie flagi --obfuscate ), musisz użyć interfejsu wiersza polecenia Firebase (wersja 11.9.0+), aby przesłać symbole systemu Android.

    Z katalogu głównego projektu Flutter uruchom następujące polecenie:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    Katalog PATH/TO /symbols jest tym samym katalogiem, który przekazujesz do flagi --split-debug-info podczas kompilowania aplikacji.

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 "fatal" errors from the framework to Crashlytics
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

Aby wyłapać błędy asynchroniczne, które nie są obsługiwane przez platformę Flutter, użyj PlatformDispatcher.instance.onError :

Future<void> main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };
    runApp(MyApp());

}

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