Bắt đầu sử dụng Firebase Crashlytics


Phần hướng dẫn nhanh này mô tả cách thiết lập Firebase Crashlytics trong ứng dụng bằng SDK Firebase Crashlytics để 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. Với Crashlytics cho Android, bạn sẽ nhận được báo cáo về 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 (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 buộc một sự cố thử nghiệm để gửi báo cáo sự cố đầu tiên đến Firebase.

Trước khi bắt đầu

  1. Nếu bạn chưa thực hiện, hãy thêm Firebase vào dự án Android. Nếu không có ứng dụng Android, bạn có thể tải ứng dụng mẫu xuống.

  2. Đề xuất: Để tự động nhận nhật ký đường dẫn nhằm hiểu rõ các hành động của người dùng dẫn đến sự cố, sự cố không nghiêm trọng hoặc sự kiện ANR, bạn cần bật Google Analytics trong dự án Firebase.

    • Nếu dự án Firebase hiện tại của bạn chưa bật Google Analytics, bạn có thể bật Google Analytics từ thẻ Tích hợp của > 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.

  3. Đảm bảo ứng dụng của bạn có các phiên bản tối thiểu bắt buộc sau:

    • Gradle 8.0
    • Trình bổ trợ Android cho Gradle 8.1.0
    • Trình bổ trợ Google Services cho Gradle 4.4.1

Bước 1: Thêm SDK Crashlytics vào ứng dụng

<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleCrashlytics Bạn nên sử dụng Firebase Android BoM để kiểm soát việc tạo phiên bản thư viện.

Để tận dụng nhật ký đường dẫn, hãy thêm SDK Firebase cho Google Analytics vào ứng dụng của bạn. Đảm bảo rằng bạn đã bật Google Analytics trong dự án Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.7.0"))

    // 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 những phiên bản tương thích của thư viện Android trên Firebase.

(Phương án thay thế)  Thêm phần phụ thuộc thư viện Firebase mà không 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ần phụ thuộc của thư viện đó.

Xin lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng, bạn nên sử dụng BoM để quản lý các phiên bản thư viện, nhằm đả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:19.3.0")
    implementation("com.google.firebase:firebase-analytics:22.1.2")
}
Bạn đang tìm kiếm mô-đun thư viện dành riêng cho Kotlin? Kể từ tháng 10 năm 2023 (Firebase BoM 32.5.0), cả nhà phát triển Kotlin và Java đều có thể phụ thuộc vào mô-đun thư viện chính (để biết thông tin chi tiết, hãy xem Câu hỏi thường gặp về sáng kiến này).

Bước 2: Thêm trình bổ trợ Gradle Crashlytics vào ứng dụng

  1. Trong tệp Gradle cấp gốc (cấp dự án) (<project>/build.gradle.kts hoặc <project>/build.gradle), hãy thêm trình bổ trợ Gradle Crashlytics vào khối plugins:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' apply false
    }
  2. Trong tệp Gradle mô-đun (cấp ứng dụng) (thường là <project>/<app-module>/build.gradle.kts hoặc <project>/<app-module>/build.gradle), hãy thêm trình bổ trợ Gradle Crashlytics:

    Kotlin

    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")
    }

    Groovy

    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 sự cố thử nghiệm để hoàn tất việc thiết lập

Để hoàn tất việc 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 một sự cố kiểm thử.

  1. Thêm mã vào ứng dụng mà bạn có thể dùng để buộc xảy ra sự cố kiểm thử.

    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. Khi nhấn nút này, ứng dụng sẽ gặp sự cố. Nút này có nhãn "Test Crash" (Kiểm thử sự cố).

    Kotlin

    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));
  2. Tạo bản dựng và chạy ứng dụng.

  3. Buộc sự cố kiểm thử xảy ra để gửi báo cáo sự cố đầu tiên của ứng dụng:

    1. Mở ứng dụng trên thiết bị kiểm thử hoặc trình mô phỏng.

    2. Trong ứng dụng, hãy nhấn vào nút "Test Crash" (Kiểm thử sự cố) mà bạn đã thêm bằng mã ở trên.

    3. Sau khi ứng dụng gặp sự cố, hãy khởi động lại ứng dụng để ứng dụng có thể gửi báo cáo sự cố đến Firebase.

  4. Chuyển đến trang tổng quan Crashlytics của bảng điều khiển Firebase để xem sự cố kiểm thử.

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


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

Các bước tiếp theo

  • Tích hợp với Google Play để bạn có thể lọc báo cáo sự cố của ứng dụng Android theo kênh Google Play ngay trong trang tổng quan Crashlytics. Nhờ đó, bạn có thể tập trung vào các bản dựng cụ thể trên trang tổng quan.
  • Trong Android Studio, hãy xem và lọc dữ liệu Crashlytics.
    • Sử dụng cửa sổ App Quality Insights (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 đổi qua lại giữa trang tổng quan Crashlytics và IDE để bắt đầu gỡ lỗi các vấn đề hàng đầu.
    • Tìm hiểu cách sử dụng cửa sổ AQI trong tài liệu về Android Studio.
    • Chúng tôi rất mong được nghe ý kiến của bạn! Hãy gửi ý kiến 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.