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 làm như vậy, thêm Firebase vào dự án Apple của bạn.

Bước 1: Thêm tính năng Giám sát hiệu suất vào ứng dụng

Sau khi bạn thêm SDK giám sát hiệu suất, Firebase sẽ tự động bắt đầu thu thập dữ liệu về hoạt động kết xuất màn hình, 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 yêu cầu mạng HTTP/S.

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.

  1. 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.
  2. Khi được nhắc, hãy thêm kho lưu trữ SDK nền tảng Apple của Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Chọn thư viện Giám sát hiệu suất.
  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 xuống các phần phụ thuộc trong 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ư bất kỳ tên nào khác Các mô-đun Firebase mà người được uỷ quyền sử dụng. Ví dụ: Cách sử dụng Cloud Firestore và Xác thực:

    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 FirebaseApp thực thể dùng chung trong Phương thức application(_:didFinishLaunchingWithOptions:):

    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 ứng dụng uỷ quyền và đính kèm nó đến cấu trúc App của bạn thông qua UIApplicationDelegateAdaptor hoặc NSApplicationDelegateAdaptor. Bạn cũng phải tắt tính năng uỷ quyền ứng dụng. Để hãy xem hướng dẫn về SwiftUI để biết thêm thông tin.

    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.

Bước 2: Tạo 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 . 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 của bạn để tạo các sự kiện để 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ị thử nghiệm.

  2. Tạo sự kiện bằng cách chuyển đổi ứng dụng giữa nền và nền trước nhiều lần, tương tác với ứng dụng bằng cách di chuyển trên 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 Hiệu suất bảng điều khiển của Firebase. Bạn sẽ thấy dữ liệu ban đầu của mình hiển thị trong trong vài phút.

    Nếu bạn không thấy dữ liệu ban đầu của mình hiển thị, hãy xem phần khắc phục sự cố .

Bước 3: (Không bắt buộc) Xem thông điệp nhật ký cho sự kiện 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 14.1), hãy chọn Sản phẩm > Lược đồ > Chỉnh sửa lược đồ.
    2. Chọn Run (Chạy) trên trình đơn bên trái, sau đó chọn thẻ Arguments (Đối số).
    3. Trong phần Đối số đã thông qua khi khởi chạy, hãy thêm -FIRDebugEnabled.
  2. Kiểm tra thông điệp nhật ký của bạn để xem có thông báo lỗi nào không.

  3. Tính năng Giám sát hiệu suất gắn thẻ thông điệp nhật ký với Firebase/Performance để bạn có thể lọc thông điệp nhật ký của bạn.

  4. Kiểm tra các loại nhật ký sau đây để biết chức năng Giám sát hiệu suất ghi nhật ký sự kiện hiệu suất:

    • 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. Quá trình này có thể mất vài phút thời điểm để 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 về hiệu suất, hãy xem phần khắc phục sự cố .

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

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

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

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

Hãy xem bài viết Thêm tính năng giám sát cho một mã cụ thể để tìm hiểu thêm về các 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 sau đó xem xét kết quả

Sau khi bạn xác thực giải pháp Giám sát hiệu suất 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 đã cập nhật của ứng dụng cho người dùng của mình.

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

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

  • Tính năng Giám sát hiệu suất đã biết các vấn đề về khả năng tương thích với GTMSQLite. Bạn không nên sử dụng giải pháp Giám sát hiệu suất với các ứng dụng dùng GTMSQLite.
  • Phương thức quay tròn sau khi gọi FirebaseApp.configure() có thể gây ảnh hưởng đến SDK giám sát hiệu suất.
  • Các sự cố đã biết với Trình mô phỏng iOS 8.0-8.2 ngăn Giám sát hiệu suất từ nắm bắt các sự kiện về hiệu suất. Những sự cố này được khắc phục trong Trình mô phỏng iOS 8.3 và các phiên bản mới hơn.
  • 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. Những 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 gọi lại trong quá trình.

Các bước tiếp theo