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

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.

Phần bắt đầu 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 được 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 bạn 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. Được đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký đường dẫn 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 hỗ trợ bởi Crashlytics (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: Đi tới > Cài đặt dự án > tab Tích hợp , sau đó làm theo hướng dẫn trên màn hì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, sẽ thêm plugin Crashlytics Gradle bắt buộc 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 --split-debug-info (và, tùy chọn, cờ --obfuscate ), bạn cần sử dụng Firebase CLI (v.11.9.0 +) để tải lên các ký hiệu Android.

    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ư PATH/TO /symbols Symbol là cùng một thư mục mà bạn chuyển tới --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 khuôn khổ 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 kiểm tra sự cố để 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 trang tổng quan Crashlytics của bảng điều khiển Firebase, bạn cần buộc phải đưa ra 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 đưa ra một ngoại lệ thử nghiệm.

    Nếu bạn đã thêm 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à khi nhấn, sẽ ném 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 về ứ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 mô phỏng.

    2. Trong ứng dụng của bạn, hãy nhấn vào nút ngoại lệ kiểm tra mà bạn đã thêm bằng cách sử dụng mã ở trên.

  4. Truy cập trang tổng quan 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à bạn 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à đó là nó! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm các sự cố và trên Android, các lỗi và ANR không nghiêm trọng. Truy cập trang tổng quan 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