Nhận báo cáo sự cố dễ đọc trong trang tổng quan Crashlytics (Flutter)
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Theo mặc định, Firebase Crashlytics sẽ tự động đo lường dự án Flutter
của bạn để tải các tệp biểu tượng cần thiết lên. Nhờ đó, các báo cáo sự cố sẽ được
huỷ làm rối mã nguồn và dễ đọc.
Rất tiếc, có những trường hợp có thể khiến dự án không được định cấu hình đầy đủ. Hướng dẫn này trình bày những việc mà quy trình tự động hoá thực hiện và cung cấp các bước đầu tiên để gỡ lỗi cho quá trình thiết lập dự án.
Nền tảng Apple
Kiểm tra cấu hình của bạn để tải tệp dSYM lên
Việc thêm trình bổ trợ Crashlytics Flutter và chạy lệnh
flutterfire configure sẽ cố gắng thêm một tập lệnh chạy vào không gian làm việc Xcode của
dự án. Tập lệnh này sẽ tìm và tải các tệp biểu tượng dSYM cần thiết
lên Crashlytics. Nếu không có các tệp này, bạn sẽ thấy cảnh báo "Thiếu dSYM" trong
trang tổng quan Crashlytics và phần phụ trợ sẽ giữ lại các ngoại lệ
cho đến khi các tệp bị thiếu được tải lên.
Nếu bạn gặp vấn đề này, trước tiên hãy đảm bảo rằng bạn đã cài đặt tập lệnh chạy:
Tìm và mở tệp không gian làm việc Xcode trong thư mục iOS của dự án
(FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Xác định xem một tập lệnh chạy có tiêu đề [firebase_crashlytics] Crashlytics Upload Symbols đã được thêm vào Giai đoạn xây dựng của mục tiêu Trình chạy hay chưa.
Hãy xem phần thích hợp bên dưới để biết tập lệnh chạy có
_không_tồn tại hay tập lệnh chạy tồn tại
.
Tập lệnh chạy để tự động tải dSYM lên không tồn tại
Nếu tập lệnh chạy này không tồn tại, bạn có thể thêm tập lệnh đó theo cách thủ công:
Tìm mã ứng dụng Firebase cho ứng dụng Apple của bạn. Dưới đây là 2 vị trí mà bạn có thể tìm thấy mã này:
Trong bảng điều khiển Firebase, hãy chuyển đến phần cài đặt của bạn
settings > Cài đặt dự án.
Chuyển đến thẻ Ứng dụng của bạn, sau đó nhấp vào Ứng dụng Apple Firebase của bạn để xem thông tin của ứng dụng, bao gồm cả Mã ứng dụng.
Trong thư mục cấp cao nhất của dự án Flutter, hãy tìm tệp firebase_options.dart. Mã ứng dụng Firebase cho ứng dụng Apple của bạn được gắn nhãn là appId.
Nhấp vào add >
Giai đoạn tập lệnh chạy mới.
Đảm bảo rằng giai đoạn Tập lệnh chạy mới này là giai đoạn xây dựng cuối cùng của dự án. Nếu không, Crashlytics sẽ không thể xử lý dSYM đúng cách.
Mở rộng phần Tập lệnh chạy mới.
Trong trường tập lệnh (nằm bên dưới nhãn Shell), hãy thêm các tập lệnh chạy sau.
Các tập lệnh này xử lý tệp dSYM của bạn và tải các tệp đó lên
Crashlytics.
FIREBASE_APP_ID: Mã ứng dụng Apple Firebase của bạn (không phải mã nhận dạng gói Apple)
Ví dụ về mã ứng dụng Apple Firebase: 1:1234567890:ios:321abc456def7890
Bạn cần tìm mã ứng dụng Firebase?
Dưới đây là 2 cách để tìm mã ứng dụng Firebase:
Trong tệp GoogleService-Info.plist, mã ứng dụng của bạn là giá trị GOOGLE_APP_ID; hoặc
Trong bảng điều khiển Firebase, hãy chuyển đến phần
Cài đặt dự án.
Chuyển đến thẻ Ứng dụng của bạn, sau đó nhấp vào Ứng dụng Firebase mà bạn muốn tìm mã ứng dụng.
Trong phần Tệp đầu vào, hãy thêm đường dẫn cho vị trí của các tệp sau:
Xcode tìm các tệp đầu vào này ở các vị trí được chỉ định để đảm bảo
rằng các tệp bản dựng có sẵn cho tập lệnh chạy. Ngoài ra, nếu
bạn bật tính năng Hộp cát tập lệnh người dùng, Xcode chỉ cho phép tập lệnh chạy truy cập vào các tệp được chỉ định trong Tệp đầu vào.
Việc cung cấp vị trí của các tệp dSYM trong dự án sẽ giúp
Crashlytics xử lý dSYM.
Việc cung cấp vị trí của tệp đã tạo của ứng dụng
GoogleService-Info.plist
sẽ giúp Crashlytics liên kết dSYM với ứng dụng Firebase của bạn.
Việc cung cấp vị trí của tệp thực thi của ứng dụng sẽ cho phép tập lệnh chạy
ngăn việc tải cùng một dSYM lên nhiều lần. Xin lưu ý rằng các tệp nhị phân của ứng dụng
không được tải lên.
Tìm mã ứng dụng Firebase cho ứng dụng Apple của bạn. Dưới đây là 2 vị trí mà bạn có thể tìm thấy mã này:
Trong bảng điều khiển Firebase, hãy chuyển đến phần cài đặt của bạn
settings > Cài đặt dự án.
Chuyển đến thẻ Ứng dụng của bạn, sau đó nhấp vào Ứng dụng Apple Firebase của bạn để xem thông tin của ứng dụng, bao gồm cả Mã ứng dụng.
Trong thư mục cấp cao nhất của dự án Flutter, hãy tìm tệp firebase_options.dart. Mã ứng dụng Firebase cho ứng dụng Apple của bạn được gắn nhãn là appId.
Khi chạy tập lệnh upload-symbols, hãy sử dụng
-ai FIREBASE_APPLE_APP_ID thay vì
-gsp /path/to/GoogleService-Info.plist.
Kiểm tra cấu hình phiên bản cho Flutter và Crashlytics(nếu sử dụng cờ --split-debug-info)
Nếu dự án Flutter của bạn sử dụng cờ --split-debug-info (và tuỳ ý sử dụng cả cờ --obfuscate), bạn cần thực hiện thêm các bước để hiển thị dấu vết ngăn xếp dễ đọc cho ứng dụng của mình.
Đảm bảo rằng dự án của bạn đang sử dụng cấu hình phiên bản được đề xuất
(Flutter 3.12.0 trở lên và Crashlytics trình bổ trợ 3.3.4 trở lên) để dự án
có thể tự động tạo và tải các biểu tượng Flutter (tệp dSYM) lên
Crashlytics.
Android
Kiểm tra cấu hình phần phụ thuộc
Lệnh flutterfire configure cố gắng thêm các phần phụ thuộc cần thiết vào tệp bản dựng Gradle của dự án. Nếu không có các phần phụ thuộc này, báo cáo sự cố trong
bảng điều khiển Firebase có thể bị làm rối mã nguồn nếu bạn bật tính năng làm rối mã nguồn.
Đảm bảo rằng các dòng sau có trong build.gradle ở cấp dự án và build.gradle ở cấp ứng dụng:
Trong tệp bản dựng ở cấp dự án (android/build.gradle), hãy kiểm tra dòng sau:
Trong tệp bản dựng ở cấp ứng dụng (android/app/build.gradle), hãy kiểm tra dòng sau:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
Kiểm tra để đảm bảo rằng bạn đang sử dụng CLI để tải các biểu tượng Flutter lên (nếu sử dụng cờ --split-debug-info)
Nếu dự án Flutter của bạn sử dụng cờ --split-debug-info (và tuỳ ý sử dụng cả cờ --obfuscate), bạn cần thực hiện thêm các bước để hiển thị dấu vết ngăn xếp dễ đọc cho ứng dụng của mình.
Sử dụng Firebase CLI (phiên bản 11.9.0 trở lên) để tải các biểu tượng gỡ lỗi Flutter
lên. Bạn cần tải các biểu tượng gỡ lỗi lên trước khi báo cáo sự cố từ bản dựng mã bị làm rối mã nguồn.
Từ thư mục gốc của dự án Flutter, hãy chạy lệnh sau:
FIREBASE_APP_ID: Mã ứng dụng Android Firebase của bạn (không phải
tên gói)
Ví dụ về mã ứng dụng Android Firebase: 1:567383003300:android:17104a2ced0c9b9b
Bạn cần tìm mã ứng dụng Firebase?
Dưới đây là 2 cách để tìm mã ứng dụng Firebase:
Trong tệp google-services.json, mã ứng dụng của bạn là giá trị mobilesdk_app_id; hoặc
Trong bảng điều khiển Firebase, hãy chuyển đến phần
Cài đặt dự án.
Chuyển đến thẻ Ứng dụng của bạn, sau đó nhấp vào Ứng dụng Firebase mà bạn muốn tìm mã ứng dụng.
PATH/TO/symbols: 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
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2026-05-29 UTC."],[],[]]