Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

在你開始之前

如果您還沒有,請將 Firebase 添加到您的 Apple 項目中

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

添加 Performance Monitoring 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
    // ...
          

    目標-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()

    目標-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)中,選擇Product > Scheme > Edit scheme
    2. 從左側菜單中選擇運行,然後選擇參數選項卡。
    3. 啟動時傳遞的參數部分中,添加-FIRDebugEnabled
  2. 檢查您的日誌消息是否有任何錯誤消息。

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

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

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

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

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

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

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

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

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

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

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

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

已知的問題

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

下一步