Hướng dẫn bắt đầu 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, nhờ đó, bạn có thể có được sự cố toàn diện trong bảng điều khiển Firebase.
Để thiết lập Crashlytics, bạn cần thực hiện các tác vụ cả trong bảng điều khiển Firebase và IDE của bạn (như thêm tệp cấu hình Firebase và Crashlytics SDK). Để hoàn tất quá trình thiết lập, bạn cần xác định sự cố thử nghiệm để gửi báo cáo sự cố cho Firebase.
Trước khi bắt đầu
Thêm Firebase vào tài khoản Apple của bạn nếu bạn chưa thêm dự án. Nếu không có ứng dụng Apple, bạn có thể tải ứng dụng mẫu.
Đề xuất: Để tự động nhận nhật ký breadcrumb (tập hợp liên kết phân cấp) để tìm hiểu 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 của mình.
Nếu dự án Firebase hiện tại của bạn không có Google Analytics bật, bạn có thể bật Google Analytics từ Tích hợp thẻ trong
trong bảng điều khiển > Cài đặt dự ánFirebase. Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quy trình tạo dự án.
Xin lưu ý rằng nhật ký breadcrumb (tập hợp liên kết phân cấp) có sẵn trên tất cả các nền tảng của Apple mà Crashlytics ngoại trừ watchOS.
Bước 1: Thêm SDK Crashlytics vào ứng dụng
Sử dụng Trình quản lý gói Swift để cài đặt và quản lý các phần phụ thuộc Firebase.
- Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến Tệp > Thêm gói.
- Khi được nhắc, hãy thêm kho lưu trữ SDK nền tảng Apple của Firebase:
- Chọn thư viện Crashlytics.
- Để tận dụng nhật ký breadcrumb (tập hợp liên kết phân cấp), bạn cũng có thể thêm Firebase SDK cho Google Analytics vào ứng dụng của mình. Đảm bảo rằng Google Analytics đang bật trong dự án Firebase của bạn.
- Thêm cờ
-ObjC
vào mục Cờ trình liên kết khác trong chế độ cài đặt bản dựng của mục tiêu. - (chỉ dành cho MacOS) Trong
Info.plist
, hãy thêm khoáNSApplicationCrashOnExceptions
và đặt thànhYES
. - Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải xuống các phần phụ thuộc trong nền.
https://github.com/firebase/firebase-ios-sdk.git
Tiếp theo, hãy định cấu hình mô-đun Firebase:
Nhập mô-đun Firebase trong cấu trúc
App
hoặcUIApplicationDelegate
:Swift
import Firebase
Objective-C
@import Firebase;
Định cấu hình một thực thể dùng chung của
FirebaseApp
, thường trong thực thể uỷ quyền của ứng dụng Phương thứcapplication(_:didFinishLaunchingWithOptions:)
:Swift
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Objective-C
// Use the Firebase library to configure APIs. [FIRApp configure];
Bước 2: Thiết lập Xcode để tự động tải các tệp dSYM lên
Để tạo báo cáo sự cố mà con người có thể đọc được, Crashlytics cần có tệp biểu tượng gỡ lỗi (dSYM). Các bước sau đây mô tả cách định cấu hình Xcode để tự động tạo dSYM, xử lý chúng và tải tệp lên bất cứ khi nào bạn xây dựng ứng dụng của mình.
Mở không gian làm việc Xcode của dự án, sau đó chọn tệp dự án của dự án trong trình điều hướng bên trái.
Trong danh sách MỤC TIÊU, hãy chọn mục tiêu bản dựng chính.
Nhấp vào thẻ Build Settings (Cài đặt bản dựng), sau đó hoàn tất các bước sau để Xcode tạo ra dSYM cho các bản dựng của bạn.
Nhấp vào Tất cả, rồi tìm
debug information format
.Đặt Debug Information Format (Định dạng thông tin gỡ lỗi) thành
DWARF with dSYM File
cho tất cả loại bản dựng.
Nhấp vào thẻ Tạo giai đoạn, sau đó hoàn tất các bước sau để Xcode có thể xử lý dSYM của bạn và tải các tệp lên.
Nhấp vào
> Giai đoạn chạy tập lệnh mới.Đảm bảo giai đoạn Run Script (Chạy tập lệnh) mới này là bản dựng cuối cùng của dự án pha; nếu không, Crashlytics không thể xử lý dSYM đúng cách.
Mở rộng mục Run Script (Chạy tập lệnh) mới.
Trong trường tập lệnh (nằm bên dưới nhãn Shell), hãy thêm thuộc tính sau khi chạy tập lệnh.
Tập lệnh này xử lý các tệp dSYM của dự án và tải các tệp này lên Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
Trong mục Tệp đầu vào, hãy thêm đường dẫn cho các vị trí của các tệp sau:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
Để biết thêm thông tin chi tiết về các tệp dSYM và Crashlytics (bao gồm cách tải tệp dSYM lên theo cách thủ công), hãy truy cập vào Nhận báo cáo sự cố đã được gỡ rối mã nguồn.
Bước 3: Xác định sự cố thử nghiệm để hoàn tất quá trình 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ạn cần thực hiện kiểm thử trên trang tổng quan Crashlytics của bảng điều khiển Firebase sự cố.
Thêm mã vào ứng dụng mà bạn có thể sử dụng để xác định sự cố kiểm thử.
Bạn có thể sử dụng mã sau để thêm một nút vào ứng dụng của mình, khi gây ra sự cố. Nút này có nhãn "Test Crash" (Kiểm thử sự cố).
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
Bộ công cụ giao diện người dùng
Swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let button = UIButton(type: .roundedRect) button.frame = CGRect(x: 20, y: 50, width: 100, height: 30) button.setTitle("Test Crash", for: []) button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside) view.addSubview(button) } @IBAction func crashButtonTapped(_ sender: AnyObject) { let numbers = [0] let _ = numbers[1] } }
Objective-C
#import "ViewController.h" @implementation ViewController ‐ (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(20, 50, 100, 30); [button setTitle:@"Test Crash" forState:UIControlStateNormal]; [button addTarget:self action:@selector(crashButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } ‐ (IBAction)crashButtonTapped:(id)sender { @[][1]; } @end
Tạo và chạy ứng dụng của bạn trong Xcode khi đã ngắt kết nối trình gỡ lỗi Xcode.
Nhấp vào
Tạo rồi sau đó chạy lược đồ hiện tại để tạo ứng dụng của bạn trên một thiết bị thử nghiệm hoặc trình mô phỏng.Đợi cho đến khi ứng dụng của bạn chạy, sau đó nhấp vào Crashlytics.
Ngừng chạy lược đồ hoặc action để đóng phiên bản ban đầu của ứng dụng. Tên viết tắt này bao gồm trình gỡ lỗi can thiệp vào
Buộc kiểm thử 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 từ màn hình chính của thiết bị thử nghiệm hoặc trình mô phỏng.
Trong ứng dụng của bạn, hãy nhấn vào nút "Test Crash" (Sự cố kiểm thử) 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 chạy lại ứng dụng đó từ Xcode để ứng dụng của bạn có thể gửi báo cáo sự cố đến Firebase.
Chuyển đến trang tổng quan Crashlytics của Bảng điều khiển Firebase để xem sự cố thử nghiệm của bạn.
Nếu đã làm mới bảng điều khiển mà vẫn không thấy sự cố thử nghiệm sau 5 phút, bật tính năng 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.
Chỉ vậy thôi! Crashlytics hiện đang theo dõi ứng dụng của bạn để phát hiện các sự cố. Truy cập vào trang tổng quan của Crashlytics để xem và tìm hiểu tất cả báo cáo và thống kê của bạn.
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 báo cáo chọn tham gia, nhật ký, khoá và theo dõi các lỗi không nghiêm trọng.