Firebase is back at Google I/O on May 10! Register now

Bắt đầu với Firebase Crashlytics

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Hướng dẫn nhanh này mô tả cách thiết lập Firebase Crashlytics trong ứng dụng của bạn bằng plugin Crashlytics Flutter để bạn có thể nhận báo cáo sự cố toàn diện trong bảng điều khiển Firebase.

Thiết lập Crashlytics liên quan đến việc sử dụng cả công cụ dòng lệnh và IDE của bạn. Để hoàn tất quá trình thiết lập, bạn cần phải thực hiện một ngoại lệ thử nghiệm để gửi báo cáo sự cố đầu tiên của mình tới Firebase.

Trước khi bắt đầu

  1. Nếu bạn chưa có, hãy định cấu hình và khởi tạo Firebase trong dự án Flutter của bạn.

  2. Đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký breadcrumb và cảnh báo vận tốc, bạn cần bật Google Analytics trong dự án Firebase của mình.

    Tất cả các nền tảng Android và Apple được Crashlytics hỗ trợ (ngoại trừ watchOS) đều có thể tận dụng các tính năng này từ Google Analytics.

    Đảm bảo rằng Google Analytics được bật trong dự án Firebase của bạn: Chuyển đến > Cài đặt dự án > tab Tích hợp , sau đó làm theo hướng dẫn trên màn hình dành cho Google Analytics.

Bước 1 : Thêm Crashlytics vào dự án Flutter của bạn

  1. Từ thư mục gốc của dự án Flutter của bạn, hãy chạy lệnh sau để cài đặt plugin Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. Từ thư mục gốc của dự án Flutter của bạn, hãy chạy lệnh sau:

    flutterfire configure
    

    Chạy lệnh này đảm bảo rằng cấu hình Firebase của ứng dụng Flutter của bạn được cập nhật và đối với Android, thêm plugin Crashlytics Gradle cần thiết vào ứng dụng của bạn.

  3. Sau khi hoàn thành, hãy xây dựng lại dự án Flutter của bạn:

    flutter run
    
  4. (Tùy chọn) Nếu dự án Flutter của bạn sử dụng cờ --split-debug-info (và, tùy chọn, cờ --obfuscate ), thì bạn cần sử dụng Firebase CLI (v.11.9.0+) để tải các ký hiệu Android lên.

    Từ thư mục gốc của dự án Flutter của bạn, hãy chạy lệnh sau:

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

    Thư mục PATH/TO /symbols là cùng một thư mục mà bạn chuyển đến cờ --split-debug-info khi xây dựng ứng dụng.

Bước 2 : Định cấu hình trình xử lý sự cố

Bạn có thể tự động bắt tất cả các lỗi được đưa ra trong khung Flutter bằng cách ghi đè FlutterError.onError bằng 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());
}

Để bắt các lỗi không đồng bộ không được xử lý bởi khung Flutter, hãy sử dụng 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());

}

Để biết ví dụ về cách xử lý các loại lỗi khác, hãy xem Tùy chỉnh báo cáo sự cố .

Bước 3 : Buộc chạy thử nghiệm để hoàn tất thiết lập

Để hoàn tất thiết lập Crashlytics và xem dữ liệu ban đầu trong bảng điều khiển Crashlytics của bảng điều khiển Firebase, bạn cần buộc ném một ngoại lệ thử nghiệm.

  1. Thêm mã vào ứng dụng của bạn mà bạn có thể sử dụng để buộc ném một ngoại lệ thử nghiệm.

    Nếu bạn đã thêm một trình xử lý lỗi gọi FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) vào Zone cấp cao nhất, bạn có thể sử dụng mã sau để thêm một nút vào ứng dụng của mình. một ngoại lệ thử nghiệm:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Xây dựng và chạy ứng dụng của bạn.

  3. Buộc ném ngoại lệ thử nghiệm để gửi báo cáo đầu tiên cho ứng dụng của bạn:

    1. Mở ứng dụng của bạn từ thiết bị thử nghiệm hoặc trình giả lập.

    2. Trong ứng dụng của bạn, nhấn nút ngoại lệ thử nghiệm mà bạn đã thêm bằng mã ở trên.

  4. Truy cập bảng điều khiển Crashlytics của bảng điều khiển Firebase để xem sự cố thử nghiệm của bạn.

    Nếu bạn đã làm mới bảng điều khiển và vẫn không thấy sự cố thử nghiệm sau năm phút, hãy bật ghi nhật ký gỡ lỗi để xem liệu ứng dụng của bạn có đang gửi báo cáo sự cố hay không.


Và thế là xong! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm sự cố và trên Android, lỗi không nghiêm trọng và ANR. Truy cập bảng điều khiển Crashlytics để xem và điều tra tất cả các báo cáo và thống kê của bạn.

Bước tiếp theo