Bắt đầu với Firebase Crashlytics

Phầ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 để 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.

Thiết lập Crashlytics yêu cầu các tác vụ 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 phải thực hiện kiểm tra sự cố để gửi báo cáo sự cố đầu tiên của bạn tới Firebase.

Trước khi bắt đầu

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

  2. Được đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký đường dẫn và cảnh báo vận tốc, bạn cần bật Google Analytics trong dự án Firebase của mình.

    Tất cả các nền tảng của Apple được hỗ trợ bởi Crashlytics (ngoại trừ watchOS) đều có thể tận dụng các tính năng này từ Google Analytics. Lưu ý rằng bạn cần SDK v8.9.0 + cho ứng dụng macOS và tvOS.

    • 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ừ tab Tích hợp trong > Cài đặt dự án trong bảng điều khiển Firebase.

    • Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quá trình tạo dự án.

Bước 1 : Thêm SDK Firebase Crashlytics vào ứng dụng của bạn

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 của Firebase.

  1. Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy điều hướng đến Tệp> Thêm gói .
  2. Khi được nhắc, hãy thêm kho lưu trữ SDK của các nền tảng Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Chọn thư viện Crashlytics.
  5. Để có trải nghiệm tối ưu với Crashlytics, chúng tôi khuyên bạn nên bật Google Analytics trong dự án Firebase và thêm SDK Firebase cho Google Analytics vào ứng dụng của mình. Bạn có thể chọn thư viện không có bộ sưu tập IDFA hoặc có bộ sưu tập IDFA.
  6. Khi hoàn tất, Xcode sẽ tự động bắt đầu giải quyết và tải xuống các phần phụ thuộc của bạn trong nền.

Tiếp theo, hãy định cấu hình mô-đun Firebase:

  1. Nhập mô-đun Firebase trong Cấu trúc App của bạn hoặc UIApplicationDelegate :

    Nhanh

    import Firebase

    Objective-C

    @import Firebase;
  2. Định cấu hình phiên bản được chia sẻ FirebaseApp , thường trong trình khởi tạo App dụng của bạn hoặc ứng dụng của người đại diện ứng dụng của bạn application(_:didFinishLaunchingWithOptions:) :

    Nhanh

    // 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 lên các tệp dSYM

Để tạo báo cáo sự cố mà con người có thể đọc được, Crashlytics cần tệp biểu tượng gỡ lỗi (dSYM) của dự án của bạn. Các bước sau đây mô tả cách định cấu hình Xcode để tự động tạo dSYM của bạn, xử lý chúng và tải lên tệp bất cứ khi nào bạn xây dựng ứng dụng của mình.

  1. Mở không gian làm việc Xcode của dự án của bạn, sau đó chọn tệp dự án của nó trong trình điều hướng bên trái.

  2. Từ danh sách MỤC TIÊU , hãy chọn mục tiêu xây dựng chính của bạn.

  3. Nhấp vào tab Cài đặt bản dựng , sau đó hoàn thành các bước sau để Xcode tạo dSYM cho các bản dựng của bạn.

    1. Nhấp vào Tất cả , sau đó tìm kiếm debug information format .

    2. Đặt Định dạng thông tin gỡ lỗi thành DWARF with dSYM File cho tất cả các loại bản dựng của bạn.

  4. Nhấp vào tab Xây dựng giai đoạn , sau đó hoàn thành các bước sau để Xcode có thể xử lý dSYM của bạn và tải tệp lên.

    1. Nhấp vào > Giai đoạn Chạy Tập lệnh Mới .

      Đảm bảo rằng giai đoạn Run Script mới này là giai đoạn xây dựng cuối cùng của dự án của bạn; nếu không, Crashlytics không thể xử lý các dSYM đúng cách.

    2. Mở rộng phần Run Script mới.

    3. Trong trường tập lệnh (nằm dưới nhãn Shell ), hãy thêm tập lệnh chạy sau.

      Tập lệnh này xử lý tệp dSYM của dự án của bạn và tải tệp lên Crashlytics.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Trong phần Tệp đầu vào , thêm đường dẫn cho vị trí của các tệp sau:

      • Vị trí của các tệp dSYM trong dự án của bạn:

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        Việc cung cấp vị trí của các tệp dSYM trong dự án của bạn cho phép Crashlytics xử lý dSYM cho các ứng dụng lớn nhanh hơn.

      • Vị trí của tệp Info.plist đã xây dựng trong dự án của bạn:

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

        Việc cung cấp vị trí của tệp Info.plist đã xây dựng trong dự án của bạn cho phép Crashlytics liên kết phiên bản ứng dụng với dSYM.

Để biết thêm thông tin chi tiết về tệp dSYM và Crashlytics (bao gồm cách tải lên tệp dSYM theo cách thủ công), hãy truy cập Nhận báo cáo sự cố được giải mã .

Bước 3 : Buộc kiểm tra sự cố để hoàn tất thiết lập

Để hoàn tất quá trình 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 thực hiện kiểm tra sự cố.

  1. Thêm mã vào ứng dụng của bạn mà bạn có thể sử dụng để tạo ra sự cố thử nghiệm.

    Bạn có thể sử dụng mã sau để thêm một nút vào ứng dụng của mình mà khi được nhấn, sẽ gây ra lỗi. Nút có nhãn "Kiểm tra sự cố".

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    Nhanh

    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
    
  2. Xây dựng và chạy ứng dụng của bạn trong Xcode.

    1. Nhấp vào Build và sau đó chạy sơ đồ hiện tại để xây dựng ứng dụng của bạn trên thiết bị thử nghiệm hoặc trình mô phỏng.

    2. Chờ cho đến khi ứng dụng của bạn đang chạy, sau đó nhấp vào Dừng chạy chương trình hoặc hành động để đóng phiên bản ban đầu của ứng dụng của bạn. Phiên bản ban đầu này bao gồm trình gỡ lỗi can thiệp vào Crashlytics.

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

    1. Mở ứng dụng của bạn từ màn hình chính của thiết bị thử nghiệm hoặc trình mô phỏng.

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

    3. 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ố tới Firebase.

  4. Truy cập 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 bạn đã làm mới bảng điều khiển và bạn vẫn không thấy lỗi kiểm tra sau năm phút, hãy bật 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.


Và đó là nó! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm sự cố. Truy cập trang tổng quan Crashlytics để xem và điều tra tất cả các báo cáo và thống kê của bạn.

Bước tiếp theo