Bắt đầu sử dụng tính năng Giám sát hiệu suất cho các nền tảng của Apple

Trước khi bắt đầu

Nếu bạn chưa thực hiện, hãy thêm Firebase vào dự án Apple.

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

Sau khi bạn thêm SDK Performance Monitoring, Firebase sẽ tự động bắt đầu thu thập dữ liệu cho hoạt động kết xuất màn hình của ứng dụng, dữ liệu liên quan đến vòng đời của ứng dụng (chẳng hạn như thời gian bắt đầu ứng dụng) và dữ liệu cho các yêu cầu mạng HTTP/S.

Sử dụng Swift Package Manager để 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 chuyển đến File > Add Packages (Tệp > Thêm gói).
  2. Khi được nhắc, hãy thêm kho lưu trữ SDK Firebase cho các nền tảng của Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Chọn thư viện Performance Monitoring.
  5. 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.
  6. Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải các phần phụ thuộc của bạn xuống ở chế độ nền.

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

  1. Nhập mô-đun FirebaseCore trong UIApplicationDelegate, cũng như mọi mô-đun Firebase khác mà uỷ quyền ứng dụng của bạn sử dụng. Ví dụ: để sử dụng Cloud FirestoreAuthentication:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Định cấu hình một phiên bản dùng chung FirebaseApp trong phương thức application(_:didFinishLaunchingWithOptions:) của uỷ quyền ứng dụng:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Nếu đang sử dụng SwiftUI, bạn phải tạo một uỷ quyền ứng dụng và đính kèm uỷ quyền đó vào cấu trúc App thông qua UIApplicationDelegateAdaptor hoặc NSApplicationDelegateAdaptor. Bạn cũng phải tắt tính năng thay thế phương thức uỷ quyền của ứng dụng. Để biết thêm thông tin, hãy xem hướng dẫn về SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Biên dịch lại ứng dụng của bạn.

Bước 2: Tạo các sự kiện hiệu suất để hiển thị dữ liệu ban đầu

Firebase bắt đầu xử lý các sự kiện khi bạn thêm thành công SDK vào ứng dụng. Nếu bạn vẫn đang phát triển cục bộ, hãy tương tác với ứng dụng để tạo các sự kiện cho quá trình thu thập và xử lý dữ liệu ban đầu.

  1. Tiếp tục phát triển ứng dụng bằng trình mô phỏng hoặc thiết bị kiểm thử.

  2. Tạo sự kiện bằng cách chuyển đổi ứng dụng của bạn giữa chế độ nền và chế độ nền trước nhiều lần, tương tác với ứng dụng bằng cách di chuyển giữa các màn hình và/hoặc kích hoạt các yêu cầu mạng.

  3. Chuyển đến Trang tổng quan vềhiệu suất của bảng điều khiển Firebase. Bạn sẽ thấy dữ liệu ban đầu xuất hiện trong vòng vài phút.

    Nếu bạn không thấy dữ liệu ban đầu, hãy xem các mẹo khắc phục sự cố.

Bước 3: (Không bắt buộc) Xem thông báo nhật ký cho các sự kiện về hiệu suất

  1. Bật tính năng ghi nhật ký gỡ lỗi như sau:

    1. Trong Xcode (tối thiểu là phiên bản 16.2), hãy chọn Product (Sản phẩm) > Scheme (Lược đồ) > Edit scheme (Chỉnh sửa lược đồ).
    2. Chọn Run (Chạy) trong trình đơn bên trái, rồi chọn thẻ Arguments (Đối số).
    3. Trong mục Arguments Passed on Launch (Đối số được chuyển khi mở), hãy thêm -FIRDebugEnabled.
  2. Kiểm tra nhật ký thông báo để xem có thông báo lỗi nào không.

  3. Performance Monitoring gắn thẻ Firebase/Performance vào thông điệp nhật ký để bạn có thể lọc thông điệp nhật ký.

  4. Kiểm tra các loại nhật ký sau đây để biết Performance Monitoring có đang ghi lại các sự kiện hiệu suất hay không:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Nhấp vào URL để xem dữ liệu của bạn trong bảng điều khiển của Firebase. Có thể mất vài phút để dữ liệu cập nhật trong trang tổng quan.

Nếu ứng dụng của bạn không ghi lại các sự kiện hiệu suất, hãy xem các mẹo khắc phục sự cố.

Bước 4: (Không bắt buộc) Thêm chế độ giám sát tuỳ chỉnh cho mã cụ thể

Để theo dõi dữ liệu hiệu suất liên kết với mã cụ thể trong ứng dụng, bạn có thể đo lường dấu vết mã tuỳ chỉnh.

Với dấu vết mã tuỳ chỉnh, bạn có thể đo thời gian cần thiết để ứng dụng hoàn thành một nhiệm vụ hoặc một nhóm nhiệm vụ cụ thể, chẳng hạn như tải một nhóm hình ảnh hoặc truy vấn cơ sở dữ liệu. Chỉ số mặc định cho dấu vết mã tuỳ chỉnh là thời lượng của dấu vết đó, nhưng bạn cũng có thể thêm các chỉ số tuỳ chỉnh, chẳng hạn như lượt truy cập bộ nhớ đệm và cảnh báo về bộ nhớ.

Trong mã của mình, bạn xác định điểm bắt đầu và điểm kết thúc của một dấu vết mã tuỳ chỉnh (và thêm mọi chỉ số tuỳ chỉnh mong muốn) bằng cách sử dụng API do SDK Performance Monitoring cung cấp.

Hãy truy cập vào phần Thêm tính năng giám sát cho mã cụ thể để tìm hiểu thêm về những tính năng này và cách thêm chúng vào ứng dụng của bạn.

Bước 5: Triển khai ứng dụng rồi xem xét kết quả

Sau khi xác thực Performance Monitoring bằng trình mô phỏng Xcode và một hoặc nhiều thiết bị thử nghiệm, bạn có thể triển khai phiên bản ứng dụng đã cập nhật cho người dùng.

Bạn có thể theo dõi dữ liệu hiệu suất trong trang tổng quan Hiệu suất của bảng điều khiển Firebase.

Các vấn đề đã biết

  • Performance Monitoring có các vấn đề đã biết về khả năng tương thích với GTMSQLite. Bạn không nên sử dụng Performance Monitoring với những ứng dụng dùng GTMSQLite.
  • Việc thay thế phương thức sau khi gọi FirebaseApp.configure() có thể gây trở ngại cho SDK Performance Monitoring.
  • Các vấn đề đã biết với Trình mô phỏng iOS 8.0-8.2 ngăn Performance Monitoring ghi lại các sự kiện hiệu suất. Những vấn đề này đã được khắc phục trong Trình mô phỏng iOS 8.3 và các phiên bản sau.
  • Các kết nối được thiết lập bằng backgroundSessionConfiguration của NSURLSession sẽ có thời gian kết nối lâu hơn dự kiến. Các kết nối này được thực thi ngoài quy trình và thời gian phản ánh các sự kiện lệnh gọi lại trong quy trình.

Các bước tiếp theo