Trang này cung cấp trợ giúp khắc phục sự cố và câu trả lời cho các câu hỏi thường gặp về cách sử dụng Crashlytics. Nếu bạn không thể tìm thấy những gì bạn đang tìm kiếm hoặc cần trợ giúp thêm, hãy liên hệ với bộ phận hỗ trợ của Firebase .
Khắc phục sự cố chung/Hỏi đáp
Nếu bạn không thấy người dùng không gặp sự cố, nhật ký breadcrumb và/hoặc cảnh báo tốc độ, chúng tôi khuyên bạn nên kiểm tra cấu hình ứng dụng của mình cho Google Analytics.
Đảm bảo rằng bạn đã bật Google Analytics trong dự án Firebase của mình.
Đảm bảo rằng Chia sẻ dữ liệu được bật cho Google Analytics trong trang Tích hợp > Google Analytics của bảng điều khiển Firebase. Lưu ý rằng Cài đặt chia sẻ dữ liệu được hiển thị trong bảng điều khiển Firebase nhưng được quản lý trong bảng điều khiển Google Analytics.
Ngoài SDK Crashlytics Firebase, hãy đảm bảo rằng bạn đã thêm SDK Firebase dành cho Google Analytics vào ứng dụng của mình ( iOS+ | Android ).
Đảm bảo rằng bạn đang sử dụng phiên bản mới nhất cho tất cả SDK Firebase của mình ( iOS+ | Android ).
Đặc biệt kiểm tra xem bạn có đang sử dụng tối thiểu các phiên bản sau của SDK Firebase cho Google Analytics không: iOS+ — v6.3.1+ (v8.9.0+ cho macOS và tvOS) | Android — v17.2.3+(BoM v24.7.1+) .
Bạn có thể nhận thấy hai định dạng khác nhau cho các sự cố được liệt kê trong bảng Sự cố của bạn trong bảng điều khiển Firebase. Và bạn cũng có thể nhận thấy một tính năng gọi là "biến thể" trong một số vấn đề của mình. Đây là lý do tại sao!
Vào đầu năm 2023, chúng tôi đã ra mắt một công cụ phân tích cải tiến để nhóm các sự kiện cũng như thiết kế cập nhật và một số tính năng nâng cao dành cho các vấn đề mới (chẳng hạn như các biến thể!). Kiểm tra bài đăng blog gần đây của chúng tôi để biết tất cả các chi tiết, nhưng bạn có thể đọc bên dưới để biết những điểm nổi bật.
Crashlytics phân tích tất cả các sự kiện từ ứng dụng của bạn (như sự cố, sự cố không nghiêm trọng và ANR) và tạo các nhóm sự kiện được gọi là sự cố — tất cả các sự kiện trong một sự cố đều có điểm chung là lỗi.
Để nhóm các sự kiện thành các sự cố này, công cụ phân tích được cải tiến hiện xem xét nhiều khía cạnh của sự kiện, bao gồm các khung trong theo dõi ngăn xếp, thông báo ngoại lệ, mã lỗi và các đặc điểm loại lỗi hoặc nền tảng khác.
Tuy nhiên, trong nhóm sự kiện này, dấu vết ngăn xếp dẫn đến lỗi có thể khác. Dấu vết ngăn xếp khác có thể có nghĩa là nguyên nhân gốc khác. Để thể hiện sự khác biệt có thể có này trong một vấn đề, giờ đây, chúng tôi tạo các biến thể trong các vấn đề - mỗi biến thể là một nhóm phụ các sự kiện trong một vấn đề có cùng điểm lỗi và dấu vết ngăn xếp tương tự. Với các biến thể, bạn có thể gỡ lỗi các dấu vết ngăn xếp phổ biến nhất trong một sự cố và xác định xem các nguyên nhân gốc khác nhau có dẫn đến lỗi hay không.
Đây là những gì bạn sẽ trải nghiệm với những cải tiến này:
Siêu dữ liệu được sửa đổi hiển thị trong hàng vấn đề
Giờ đây, việc hiểu và xử lý sự cố trong ứng dụng của bạn trở nên dễ dàng hơn.Ít vấn đề trùng lặp hơn
Thay đổi số dòng không dẫn đến một vấn đề mới.Dễ dàng gỡ lỗi các sự cố phức tạp với nhiều nguyên nhân gốc rễ khác nhau
Sử dụng các biến thể để gỡ lỗi các dấu vết ngăn xếp phổ biến nhất trong một sự cố.Cảnh báo và tín hiệu có ý nghĩa hơn
Một vấn đề mới thực sự đại diện cho một lỗi mới.Tìm kiếm mạnh mẽ hơn
Mỗi vấn đề chứa nhiều siêu dữ liệu có thể tìm kiếm hơn, như loại ngoại lệ và tên gói.
Đây là cách những cải tiến này được triển khai:
Khi nhận được các sự kiện mới từ ứng dụng của bạn, chúng tôi sẽ kiểm tra xem các sự kiện đó có khớp với sự cố hiện có hay không.
Nếu không có kết quả phù hợp, chúng tôi sẽ tự động áp dụng thuật toán nhóm sự kiện thông minh hơn cho sự kiện đó và tạo sự cố mới với thiết kế siêu dữ liệu được cải tiến.
Đây là bản cập nhật lớn đầu tiên mà chúng tôi thực hiện cho nhóm sự kiện của mình. Nếu bạn có phản hồi hoặc gặp phải bất kỳ vấn đề nào, vui lòng cho chúng tôi biết bằng cách gửi báo cáo.
Giá trị không gặp sự cố thể hiện tỷ lệ phần trăm người dùng tương tác với ứng dụng của bạn nhưng không gặp sự cố trong một khoảng thời gian cụ thể.
Đây là công thức tính phần trăm người dùng không gặp sự cố. Giá trị đầu vào của nó được cung cấp bởi Google Analytics.
CRASH_FREE_USERS_PERCENTAGE = 1 - ( CRASHED_USERS / ALL_USERS ) x 100
Khi sự cố xảy ra, Google Analytics sẽ gửi loại sự kiện
app_exception
và CRASHED_USERS biểu thị số lượng người dùng được liên kết với loại sự kiện đó.ALL_USERS đại diện cho tổng số người dùng đã tương tác với ứng dụng của bạn trong khoảng thời gian mà bạn đã chọn từ menu thả xuống ở phía trên bên phải của bảng điều khiển Crashlytics.
Tỷ lệ phần trăm người dùng không gặp sự cố là tổng hợp theo thời gian , không phải mức trung bình.
Ví dụ: hãy tưởng tượng ứng dụng của bạn có ba người dùng; chúng tôi sẽ gọi họ là Người dùng A, Người dùng B và Người dùng C. Bảng sau đây cho biết những người dùng nào đã tương tác với ứng dụng của bạn mỗi ngày và những người dùng nào đã gặp sự cố vào ngày hôm đó:
Thứ hai | Thứ ba | Thứ Tư | |
---|---|---|---|
Người dùng đã tương tác với ứng dụng của bạn | A, B, C | A, B, C | A, B |
Người dùng gặp sự cố | C | b | MỘT |
Vào Thứ Tư, tỷ lệ người dùng không gặp sự cố của bạn là 50% (cứ 2 người dùng thì có 1 người không gặp sự cố).
Hai trong số những người dùng của bạn đã tương tác với ứng dụng của bạn vào Thứ Tư, nhưng chỉ một trong số họ (Người dùng B) không gặp sự cố.Trong 2 ngày qua, tỷ lệ người dùng không gặp sự cố của bạn là 33,3% (cứ 3 người dùng thì có 1 người không gặp sự cố).
Ba trong số những người dùng của bạn đã tương tác với ứng dụng của bạn trong hai ngày qua, nhưng chỉ một trong số họ (Người dùng C) không gặp sự cố.Trong 3 ngày qua, tỷ lệ người dùng không gặp sự cố của bạn là 0% (0 trong số 3 người dùng không gặp sự cố).
Ba trong số những người dùng của bạn đã tương tác với ứng dụng của bạn trong ba ngày qua, nhưng không có người nào trong số họ không gặp sự cố.
Ghi chú cho phép các thành viên dự án bình luận về các vấn đề cụ thể bằng các câu hỏi, cập nhật trạng thái, v.v.
Khi một thành viên dự án đăng ghi chú, ghi chú đó sẽ được gắn nhãn bằng email của tài khoản Google của họ. Địa chỉ email này được hiển thị cùng với ghi chú cho tất cả các thành viên dự án có quyền truy cập để xem ghi chú.
Phần sau đây mô tả quyền truy cập cần thiết để xem, viết và xóa ghi chú:
Các thành viên dự án với bất kỳ vai trò nào sau đây có thể xem và xóa ghi chú hiện có cũng như viết ghi chú mới về một vấn đề.
Các thành viên dự án có bất kỳ vai trò nào sau đây có thể xem các ghi chú được đăng trên một vấn đề, nhưng họ không thể xóa hoặc viết ghi chú.
- Trình xem dự án , Trình xem Firebase , Trình xem chất lượng hoặc Trình xem Crashlytics
tích hợp
Nếu dự án của bạn sử dụng Crashlytics cùng với SDK quảng cáo trên thiết bị di động của Google, thì có khả năng trình báo cáo sự cố đang can thiệp khi đăng ký trình xử lý ngoại lệ. Để khắc phục sự cố, hãy tắt báo cáo sự cố trong SDK quảng cáo trên thiết bị di động bằng cách gọi disableSDKCrashReporting
.
Sau khi bạn liên kết Crashlytics với BigQuery, các bộ dữ liệu mới mà bạn tạo sẽ tự động được đặt ở Hoa Kỳ, bất kể vị trí của dự án Firebase của bạn.
hỗ trợ nền tảng
Các vấn đề hồi quy
Sự cố đã xảy ra hồi quy khi bạn đã đóng sự cố trước đó nhưng Crashlytics nhận được báo cáo mới cho biết sự cố đã xảy ra lại. Crashlytics tự động mở lại các sự cố đã được giải quyết này để bạn có thể giải quyết chúng sao cho phù hợp với ứng dụng của mình.
Dưới đây là một tình huống ví dụ giải thích cách Crashlytics phân loại sự cố là hồi quy:
- Lần đầu tiên, Crashlytics nhận được báo cáo sự cố về Sự cố "A". Crashlytics mở một vấn đề tương ứng cho sự cố đó (Vấn đề "A").
- Bạn nhanh chóng khắc phục lỗi này, đóng Sự cố "A" rồi phát hành phiên bản mới của ứng dụng.
- Crashlytics nhận được một báo cáo khác về Sự cố "A" sau khi bạn đã đóng sự cố.
- Nếu báo cáo là từ một phiên bản ứng dụng mà Crashlytics đã biết khi bạn đóng vấn đề (có nghĩa là phiên bản đó đã gửi báo cáo sự cố cho bất kỳ sự cố nào), thì Crashlytics sẽ không coi sự cố là đã được xử lý lại. Vấn đề sẽ vẫn đóng cửa.
- Nếu báo cáo đến từ một phiên bản ứng dụng mà Crashlytics không biết khi bạn đóng sự cố (có nghĩa là phiên bản đó chưa bao giờ gửi bất kỳ báo cáo sự cố nào cho bất kỳ sự cố nào), thì Crashlytics coi sự cố đã được giải quyết và sẽ mở lại sự cố .
Khi sự cố được giải quyết, chúng tôi sẽ gửi cảnh báo phát hiện sự cố và thêm tín hiệu hồi quy vào sự cố để cho bạn biết rằng Crashlytics đã mở lại sự cố. Nếu bạn không muốn một sự cố mở lại do thuật toán hồi quy của chúng tôi, hãy "tắt" sự cố thay vì đóng nó.
Nếu một báo cáo đến từ một phiên bản ứng dụng cũ chưa bao giờ gửi bất kỳ báo cáo sự cố nào khi bạn đóng sự cố, thì Crashlytics coi sự cố đã được khắc phục và sẽ mở lại sự cố.
Tình huống này có thể xảy ra trong trường hợp sau: Bạn đã sửa lỗi và phát hành phiên bản mới của ứng dụng, nhưng bạn vẫn có người dùng trên các phiên bản cũ hơn mà không sửa lỗi. Nếu tình cờ, một trong những phiên bản cũ hơn đó chưa bao giờ gửi bất kỳ báo cáo sự cố nào khi bạn đóng sự cố và những người dùng đó bắt đầu gặp lỗi, thì những báo cáo sự cố đó sẽ gây ra sự cố đã được giải quyết.
Nếu bạn không muốn một sự cố mở lại do thuật toán hồi quy của chúng tôi, hãy "tắt" sự cố thay vì đóng nó.