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
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.
Đề 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
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
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.
Sau khi hoàn thành, hãy xây dựng lại dự án Flutter của bạn:
flutter run
(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.
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àoZone
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"), ),
Xây dựng và chạy ứng dụng của bạn.
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:
Mở ứng dụng của bạn từ thiết bị thử nghiệm hoặc trình giả lập.
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.
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
Tùy chỉnh thiết lập báo cáo sự cố của bạn bằng cách thêm báo cáo chọn tham gia, nhật ký, khóa và theo dõi các lỗi không nghiêm trọng bổ sung.
Tích hợp với Google Play để bạn có thể lọc các báo cáo sự cố của ứng dụng Android của mình theo dõi Google Play trực tiếp trong bảng điều khiển Crashlytics. Điều này cho phép bạn tập trung tốt hơn vào bảng điều khiển của mình trên các bản dựng cụ thể.
Xem dấu vết ngăn xếp và thống kê sự cố cùng với mã của bạn bằng cửa sổ Thông tin chi tiết về chất lượng ứng dụng trong Android Studio (có sẵn kể từ Electric Eel 2022.1.1).