Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Memulai Firebase Crashlytics

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Panduan memulai ini menjelaskan cara menyiapkan Firebase Crashlytics di aplikasi Anda dengan plugin Crashlytics Flutter sehingga Anda bisa mendapatkan laporan kerusakan yang komprehensif di Firebase console.

Menyiapkan Crashlytics melibatkan penggunaan alat baris perintah dan IDE Anda. Untuk menyelesaikan penyiapan, Anda harus memaksa pengecualian pengujian untuk dilemparkan guna mengirim laporan kerusakan pertama Anda ke Firebase.

Sebelum kamu memulai

  1. Jika Anda belum melakukannya, konfigurasikan dan inisialisasi Firebase di proyek Flutter Anda.

  2. Direkomendasikan : Untuk mendapatkan fitur seperti pengguna bebas error, log remah roti, dan peringatan kecepatan, Anda harus mengaktifkan Google Analytics di proyek Firebase Anda.

    Semua platform Android dan Apple yang didukung oleh Crashlytics (kecuali watchOS) dapat memanfaatkan fitur ini dari Google Analytics.

    Pastikan Google Analytics diaktifkan di proyek Firebase Anda: Buka > Setelan proyek > tab Integrasi , lalu ikuti petunjuk di layar untuk Google Analytics.

Langkah 1 : Tambahkan Crashlytics ke proyek Flutter Anda

  1. Dari root proyek Flutter Anda, jalankan perintah berikut untuk menginstal plugin Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. Dari direktori root proyek Flutter Anda, jalankan perintah berikut:

    flutterfire configure
    

    Menjalankan perintah ini memastikan bahwa konfigurasi Firebase aplikasi Flutter Anda mutakhir dan, untuk Android, menambahkan plugin Crashlytics Gradle yang diperlukan ke aplikasi Anda.

  3. Setelah selesai, bangun kembali proyek Flutter Anda:

    flutter run
    
  4. (Opsional) Jika proyek Flutter Anda menggunakan --split-debug-info (dan, opsional, flag --obfuscate ), Anda perlu menggunakan Firebase CLI (v.11.9.0+) untuk mengupload simbol Android.

    Dari direktori root proyek Flutter Anda, jalankan perintah berikut:

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

    Direktori PATH/TO /symbols adalah direktori yang sama yang Anda berikan ke --split-debug-info saat membangun aplikasi.

Langkah 2 : Konfigurasikan penangan kerusakan

Anda dapat secara otomatis menangkap semua kesalahan yang terjadi dalam kerangka kerja Flutter dengan FlutterError.onError dengan 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());
}

Untuk menangkap error asinkron yang tidak ditangani oleh framework Flutter, gunakan 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());

}

Untuk contoh cara menangani jenis kesalahan lainnya, lihat Menyesuaikan laporan kerusakan .

Langkah 3 : Paksa uji crash untuk menyelesaikan penyiapan

Untuk menyelesaikan penyiapan Crashlytics dan melihat data awal di dasbor Crashlytics di Firebase console, Anda perlu memaksakan pengecualian pengujian untuk dilemparkan.

  1. Tambahkan kode ke aplikasi Anda yang dapat Anda gunakan untuk memaksa pengecualian pengujian dilemparkan.

    Jika Anda telah menambahkan pengendali kesalahan yang memanggil FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) ke Zone tingkat atas, Anda dapat menggunakan kode berikut untuk menambahkan tombol ke aplikasi Anda yang, ketika ditekan, melempar pengecualian tes:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Bangun dan jalankan aplikasi Anda.

  3. Paksa pengecualian pengujian untuk dilemparkan untuk mengirim laporan pertama aplikasi Anda:

    1. Buka aplikasi Anda dari perangkat pengujian atau emulator.

    2. Di aplikasi Anda, tekan tombol pengecualian pengujian yang Anda tambahkan menggunakan kode di atas.

  4. Buka dasbor Crashlytics di Firebase console untuk melihat kerusakan pengujian Anda.

    Jika Anda telah me-refresh konsol dan Anda masih tidak melihat error pengujian setelah lima menit, aktifkan debug logging untuk melihat apakah aplikasi Anda mengirimkan laporan kerusakan.


Dan itu saja! Crashlytics sekarang memantau aplikasi Anda dari error dan, di Android, error dan ANR yang tidak fatal. Kunjungi dasbor Crashlytics untuk melihat dan menyelidiki semua laporan dan statistik Anda.

Langkah selanjutnya