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 với SDK Firebase Crashlytics để bạn có thể nhận báo cáo sự cố toàn diện trong bảng điều khiển Firebase.Với Crashlytics dành cho Android, bạn nhận được báo cáo về các sự cố, lỗi không nghiêm trọng và lỗi "Ứng dụng không phản hồi" (ANR).
Việc thiết lập Crashlytics yêu cầu các tác vụ trong cả bảng điều khiển Firebase và IDE của bạn (chẳng hạn như thêm tệp cấu hình Firebase và SDK Crashlytics). Để hoàn tất quá trình thiết lập, bạn cần phải thực hiện thử nghiệm sự cố để 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 thêm Firebase vào dự án Android của bạn. Nếu không có ứng dụng Android, bạn có thể tải xuống ứng dụng mẫu .
Đề 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.
Nếu dự án Firebase hiện tại của bạn chưa bật Google Analytics, thì bạn có thể bật Google Analytics từ tab Tích hợp trong > Cài đặt dự án trong bảng điều khiển Firebase.
Nếu bạn đang tạo dự án Firebase mới, hãy bật Google Analytics trong quy trình tạo dự án.
Bước 1 : Thêm SDK Crashlytics vào ứng dụng của bạn
Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là<project>/<app-module>/build.gradle
), hãy thêm phần phụ thuộc cho thư viện Crashlytics Android. Chúng tôi khuyên bạn nên sử dụng Firebase Android BoM để kiểm soát việc lập phiên bản thư viện.Để có trải nghiệm tối ưu với Crashlytics, chúng tôi khuyên bạn nên bật Google Analytics trong dự án Firebase của mình và thêm SDK Firebase dành cho Google Analytics vào ứng dụng của bạn.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.3') // Add the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Android Firebase.
(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM
Nếu chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.
Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.
dependencies { // Add the dependencies for the Crashlytics and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics-ktx:18.3.5' implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.3') // Add the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-analytics' }
Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Android Firebase.
(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM
Nếu chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.
Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.
dependencies { // Add the dependencies for the Crashlytics and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics:18.3.5' implementation 'com.google.firebase:firebase-analytics:21.2.0' }
Bước 2 : Thêm plugin Crashlytics Gradle vào ứng dụng của bạn
Trong tệp Gradle cấp gốc (cấp dự án) của bạn (
<project>/build.gradle
), hãy thêm plugin Crashlytics Gradle dưới dạng phụ thuộc bản dựng:buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... classpath 'com.android.tools.build:gradle:7.2.0' // Make sure that you have the Google services Gradle plugin dependency classpath 'com.google.gms:google-services:4.3.15' // Add the dependency for the Crashlytics Gradle plugin classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.4' } }
Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
<project>/<app-module>/build.gradle
), hãy thêm plugin Crashlytics Gradle:plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' ... }
Bước 3 : Buộc chạy thử nghiệm để hoàn tất thiết lập
Để hoàn tất quá trình 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 thực hiện một sự cố 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 thử nghiệm gặp sự cố.
Bạn có thể sử dụng mã sau trong
MainActivity
của ứng dụng để thêm một nút vào ứng dụng của mình. Nút này khi được nhấn sẽ gây ra sự cố. Nút được gắn nhãn "Kiểm tra sự cố".Kotlin+KTX
val crashButton = Button(this) crashButton.text = "Test Crash" crashButton.setOnClickListener { throw RuntimeException("Test Crash") // Force a crash } addContentView(crashButton, ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
Java
Button crashButton = new Button(this); crashButton.setText("Test Crash"); crashButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { throw new RuntimeException("Test Crash"); // Force a crash } }); addContentView(crashButton, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
Xây dựng và chạy ứng dụng của bạn.
Buộc thử nghiệm gặp sự cố để gửi báo cáo sự cố đầ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 "Kiểm tra sự cố" mà bạn đã thêm bằng mã ở trên.
Sau khi ứng dụng của bạn gặp sự cố, hãy khởi động lại ứng dụng đó để ứng dụng của bạn có thể gửi báo cáo sự cố tới Firebase.
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ố, 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.
- 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ể.
- Trong Android Studio, hãy xem và lọc dữ liệu Crashlytics.
- Sử dụng cửa sổ Thông tin chi tiết về chất lượng ứng dụng (AQI) trong Android Studio để xem dữ liệu Crashlytics cùng với mã của bạn — không cần chuyển qua lại giữa bảng điều khiển Crashlytics và IDE để bắt đầu gỡ lỗi các sự cố hàng đầu.
- Truy cập vào cửa sổ AQI trong bản phát hành Electric Eel của Android Studio (chính thức) hoặc dùng thử các tính năng AQI mới trong Flamingo (thử nghiệm). Tải xuống phiên bản Android Studio mong muốn của bạn.
- Tìm hiểu cách sử dụng cửa sổ AQI trong tài liệu Android Studio.
- Chúng tôi rất muốn nghe từ bạn! Gửi phản hồi cho chúng tôi về cửa sổ AQI bằng cách gửi báo cáo lỗi .