開始使用適用於 Apple 平台的性能監控

在你開始之前

如果您尚未將 Firebase 添加到您的 Apple 項目中,請將其添加到您的 Apple 項目中。

第 1 步:將性能監控添加到您的應用程序

添加性能監控 SDK 後,Firebase 會自動開始收集應用的屏幕渲染數據、與應用生命週期相關的數據(例如應用啟動時間)以及HTTP/S 網絡請求的數據。

使用 Swift Package Manager 安裝和管理 Firebase 依賴項。

  1. 在 Xcode 中,打開應用程序項目,導航至File > Add Packages
  2. 出現提示時,添加 Firebase Apple 平台 SDK 存儲庫:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. 選擇性能監控庫。
  5. 完成後,Xcode 將自動開始在後台解析並下載您的依賴項。

接下來,配置 Firebase 模塊:

  1. UIApplicationDelegate中導入FirebaseCore模塊,以及應用程序委託使用的任何其他Firebase 模塊。例如,要使用 Cloud Firestore 和身份驗證:

    斯威夫特用戶界面

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

    迅速

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. 在應用程序委託的application(_:didFinishLaunchingWithOptions:)方法中配置FirebaseApp共享實例:

    斯威夫特用戶界面

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

    迅速

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. 如果您使用 SwiftUI,則必須創建一個應用程序委託並通過UIApplicationDelegateAdaptorNSApplicationDelegateAdaptor將其附加到您的App結構。您還必須禁用應用程序委託調配。有關更多信息,請參閱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 控制台的性能儀表板。您應該會在幾分鐘內看到初始數據顯示。

    如果您沒有看到初始數據的顯示,請查看故障排除提示

步驟 3 :(可選)查看性能事件的日誌消息

  1. 啟用調試日誌記錄,如下所示:

    1. 在 Xcode(最低版本 v14.1)中,選擇“產品” > “方案” > “編輯方案”
    2. 從左側菜單中選擇“運行” ,然後選擇“參數”選項卡。
    3. “啟動時傳遞的參數”部分中,添加-FIRDebugEnabled
  2. 檢查日誌消息中是否有任何錯誤消息。

  3. 性能監控使用Firebase/Performance標記其日誌消息,以便您可以過濾日誌消息。

  4. 檢查以下類型的日誌,這些日誌表明性能監控正在記錄性能事件:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. 單擊 URL 可在 Firebase 控制台中查看您的數據。儀表板中的數據更新可能需要一些時間。

如果您的應用沒有記錄性能事件,請查看故障排除提示

步驟 4 :(可選)為特定代碼添加自定義監控

要監控與應用程序中特定代碼相關的性能數據,您可以檢測自定義代碼跟踪

通過自定義代碼跟踪,您可以測量應用程序完成特定任務或一組任務(例如加載一組圖像或查詢數據庫)所需的時間。自定義代碼跟踪的默認指標是其持續時間,但您也可以添加自定義指標,例如緩存命中和內存警告。

在代碼中,您可以使用性能監控 SDK 提供的 API 定義自定義代碼跟踪的開始和結束(並添加任何所需的自定義指標)。

請訪問添加特定代碼的監控以了解有關這些功能以及如何將它們添加到您的應用程序的更多信息。

第 5 步:部署您的應用程序然後查看結果

使用 Xcode 模擬器和一台或多台測試設備驗證性能監控後,您可以向用戶部署應用程序的更新版本。

您可以在 Firebase 控制台的性能儀表板中監控性能數據。

已知的問題

  • 性能監控存在與 GTMSQLite 的已知兼容性問題。我們建議不要對使用 GTMSQLite 的應用程序使用性能監控。
  • 調用FirebaseApp.configure()後的方法調配可能會干擾性能監控 SDK。
  • iOS 8.0-8.2 模擬器的已知問題導致性能監控無法捕獲性能事件。這些問題已在 iOS 8.3 模擬器及更高版本中修復。
  • 使用 NSURLSession 的backgroundSessionConfiguration建立的連接將顯示比預期的連接時間更長的時間。這些連接在進程外執行,計時反映了進程內回調事件。

下一步