開始使用 Apple 平台的 Performance Monitoring

事前準備

如果您尚未將 Firebase 新增至 Apple 專案,請先新增。

步驟 1:在應用程式中加入 Performance Monitoring

新增 Performance Monitoring SDK 後,Firebase 會自動開始收集應用程式畫面算繪、生命週期相關資料 (例如應用程式啟動時間),以及 HTTP/S 網路要求資料。

使用 Swift Package Manager 安裝及管理 Firebase 依附元件。

  1. 在 Xcode 中保持開啟應用程式專案,然後依序點選「File」(檔案) 和「Add Packages」(新增 Package)。
  2. 系統提示時,請新增 Firebase Apple 平台 SDK 存放區:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. 選擇 Performance Monitoring 程式庫。
  5. 在目標建構設定的「Other Linker Flags」部分,新增 -ObjC 標記。
  6. 完成後,Xcode 會自動開始在背景解析及下載依附元件。

接著,設定 Firebase 模組:

  1. 在 UIApplicationDelegate 中匯入 FirebaseCore 模組,以及應用程式委派使用的任何其他 Firebase 模組。舉例來說,如要使用 Cloud Firestore 和 Authentication,請按照下列步驟操作:

    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. 在應用程式委派的 application(_:didFinishLaunchingWithOptions:) 方法中,設定 FirebaseApp 共用例項:

    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. 如果您使用 SwiftUI,則必須建立應用程式委派,並透過 UIApplicationDelegateAdaptor 或 NSApplicationDelegateAdaptor 將其附加至 App 結構。您也必須停用應用程式委派物件重組。詳情請參閱 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. 重新編譯應用程式。

步驟 2:產生效能事件,以便顯示初始資料

成功將 SDK 新增至應用程式後,Firebase 就會開始處理事件。如果您仍在本機開發,請與應用程式互動,產生事件,以便進行初始資料收集和處理。

  1. 使用模擬器或測試裝置繼續開發應用程式。

  2. 在背景和前景之間切換應用程式數次、在不同畫面之間瀏覽,以及/或觸發網路要求,藉此與應用程式互動,產生事件。

  3. 前往 Firebase 控制台的「Performance」(效能) 資訊主頁。幾分鐘內,您應該會看到初始資料顯示。

    如果沒有看到初始資料,請參閱疑難排解提示。

步驟 3:(選用) 查看效能事件的記錄訊息

  1. 啟用偵錯記錄檔功能,如下所示:

    1. 在 Xcode (最低版本 26.2) 中,依序選取「Product」 >「Scheme」 >「Edit scheme」。
    2. 在左選單中選取「Run」,然後選取「Arguments」分頁標籤。
    3. 在「Arguments Passed on Launch」部分中,加入 -FIRDebugEnabled。
  2. 查看記錄訊息,瞭解是否有任何錯誤訊息。

  3. Performance Monitoring 會使用 Firebase/Performance 標記記錄訊息,方便您篩選記錄訊息。

  4. 請檢查下列類型的記錄,確認 Performance Monitoring 是否正在記錄效能事件:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. 按一下網址,即可在 Firebase 控制台中查看資料。資訊主頁中的資料可能需要幾分鐘才會更新。

如果應用程式未記錄效能事件,請參閱疑難排解提示。

步驟 4:(選用) 為特定程式碼新增自訂監控

如要監控與應用程式中特定程式碼相關聯的成效資料,您可以檢測自訂程式碼追蹤記錄。

透過自訂程式碼追蹤,您可以評估應用程式完成特定工作或一組工作所需的時間,例如載入一組圖片或查詢資料庫。自訂程式碼追蹤記錄的預設指標是時間長度,但您也可以新增自訂指標,例如快取命中和記憶體警告。

在程式碼中,您可以使用 Performance Monitoring SDK 提供的 API 定義自訂程式碼追蹤記錄的開頭和結尾 (並新增任何所需的自訂指標)。

請參閱「新增特定程式碼的監控功能」,進一步瞭解這些功能,以及如何將這些功能新增至應用程式。

步驟 5:部署應用程式並查看結果

使用 Xcode 模擬器和一或多部測試裝置驗證 Performance Monitoring 後,即可向使用者部署更新版應用程式。

您可以在 Firebase 控制台的「Performance」(效能) 資訊主頁中監控成效資料。

已知問題

  • Performance Monitoring 與 GTMSQLite 有已知的相容性問題。建議不要在採用 GTMSQLite 的應用程式中使用 Performance Monitoring。
  • 呼叫 FirebaseApp.configure() 後進行方法交換,可能會干擾 Performance Monitoring SDK。
  • iOS 8.0-8.2 模擬器的已知問題會導致 Performance Monitoring 無法擷取效能事件。這些問題已在 iOS 8.3 模擬器和後續版本中修正。
  • 使用 NSURLSession 的 backgroundSessionConfiguration 建立連線時,連線時間會比預期長。這些連線會在程序外執行,時間則反映程序內的回呼事件。

後續步驟