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

Chọn nền tảng: iOS+ Android Android NDK Flutter Unity


Hướng dẫn này mô tả cách bắt đầu sử dụng Firebase Crashlytics trong ứng dụng Android.

Sau khi thiết lập Firebase Crashlytics SDK trong ứng dụng, bạn có thể xem 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ề các sự cố, lỗi không nghiêm trọng và "Ứng dụng không phản hồi" (ANR) lỗi.

Việc thiết lập Crashlytics đòi hỏi bạn phải thực hiện các tác vụ trong cả bảng điều khiển Firebase và IDE (như thêm tệp cấu hình Firebase và Crashlytics SDK). Để hoàn tất việc thiết lập, bạn cần xác định 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 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 một ứng dụng mẫu xuống.

  2. Nên dùng: Để tự động nhận nhật ký dấu vết để hiểu các hành động của người dùng dẫn đến sự cố, lỗi 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 bạn đang tạo dự án Firebase mới, hãy bật Google Analytics trong quy trình tạo dự án.

    • Nếu bạn đang sử dụng một dự án Firebase hiện có chưa bật Google Analytics bạn có thể bật trong trang Cài đặt > Các công cụ tích hợp của bảng điều khiển Firebase.

  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 đây:

    • Gradle 8.0
    • Trình bổ trợ Android cho Gradle 8.1.0
    • Trình bổ trợ Gradle cho Dịch vụ Google 4.4.1

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

Trong tệp Gradle (cấp ứng dụng) của mô-đun (thường là <project>/<app-module>/build.gradle.kts hoặc <project>/<app-module>/build.gradle), hãy thêm phần phụ thuộc của thư viện Crashlytics cho Android. 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ý dấu vết, hãy thêm Firebase SDK cho Google Analytics vào ứng dụng của bạn. Đảm bảo rằng Google Analytics đã được bật trong dự án Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.12.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.

(Tuỳ chọn)  Thêm phần phụ thuộc của 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 phiên bản đó.

Xin lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng, thì 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 có khả năng 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:20.0.5")
    implementation("com.google.firebase:firebase-analytics:23.2.0")
}

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.4" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.7" 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.4' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.7' apply false
    }
  2. Trong tệp Gradle (cấp ứng dụng) của mô-đun (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 cho 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: Xác định 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 trên Crashlytics trang tổng quan của bảng điều khiển Firebase, bạn cần xác định sự cố thử nghiệm.

  1. Thêm mã vào ứng dụng mà bạn có thể dùng để xác định sự cố thử nghiệm.

    Bạn có thể sử dụng mã sau đây 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 là "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 và chạy ứng dụng.

  3. Xác định sự cố thử nghiệm để 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ị hoặc trình mô phỏng thử nghiệm.

    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. Trong bảng điều khiển của Firebase, hãy chuyển đến trang tổng quan DevOps & Engagement > Crashlytics để kiểm tra báo cáo sự cố thử nghiệm .

    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 5 phút, hãy bật tính năng ghi nhật ký gỡ lỗi để xem ứng dụng 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 các sự cố, lỗi không nghiêm trọng và lỗi ANR. Hãy truy cập vào trang tổng quan Crashlytics để xem và điều tra tất cả các báo cáo và số liệu thống kê.

Các bước tiếp theo

  • Tuỳ chỉnh chế độ thiết lập báo cáo sự cố bằng cách thêm tính năng báo cáo chọn tham gia, nhật ký, khoá và theo dõi lỗi không nghiêm trọng.

  • 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 hơn vào trang tổng quan cho 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ổ App Quality Insights (AQI) (Thông tin chi tiết về chất lượng ứng dụng) trong Android Studio để xem dữ liệu Crashlytics cùng với mã của bạn. Bạn không cần phải 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 nhận được ý 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.

  • Xuất dữ liệu sang BigQuery hoặc Cloud Logging để phân tích nâng cao và sử dụng các tính năng như truy vấn dữ liệu, tạo trang tổng quan tuỳ chỉnh và thiết lập cảnh báo tuỳ chỉnh.