在你開始之前
如果您還沒有,請將 Firebase 添加到您的 Apple 項目中。
第 1 步:將性能監控添加到您的應用程序
添加性能監控 SDK 後,Firebase 會自動開始收集應用的屏幕渲染數據、與應用生命週期相關的數據(如應用啟動時間)以及HTTP/S 網絡請求的數據。
使用 Swift Package Manager 安裝和管理 Firebase 依賴項。
- 在 Xcode 中,打開您的應用項目,導航到File > Add Packages 。
- 出現提示時,添加 Firebase Apple 平台 SDK 存儲庫:
- 選擇性能監控庫。
- 完成後,Xcode 將在後台自動開始解析和下載您的依賴項。
https://github.com/firebase/firebase-ios-sdk
接下來,配置 Firebase 模塊:
- 在您的
UIApplicationDelegate
中導入FirebaseCore
模塊,以及您的應用委託使用的任何其他Firebase 模塊。例如,要使用 Cloud Firestore 和身份驗證:迅速
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- 配置
FirebaseApp
共享實例,通常在App
的初始化程序或應用委託的application(_:didFinishLaunchingWithOptions:)
方法中:迅速
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- 重新編譯您的應用程序。
第 2 步:為初始數據顯示生成性能事件
當您成功將 SDK 添加到您的應用時,Firebase 開始處理這些事件。如果您仍在本地開發,請與您的應用交互以生成用於初始數據收集和處理的事件。
繼續使用模擬器或測試設備開發您的應用程序。
通過在後台和前台之間多次切換您的應用程序、通過跨屏幕導航與您的應用程序交互和/或觸發網絡請求來生成事件。
轉到 Firebase 控制台的性能信息中心。您應該會在幾分鐘內看到您的初始數據顯示。
如果您沒有看到初始數據的顯示,請查看故障排除提示。
第 3 步:(可選)查看性能事件的日誌消息
啟用調試日誌記錄,如下所示:
- 在 Xcode(最低 v13.3.1)中,選擇Product > Scheme > Edit scheme 。
- 從左側菜單中選擇運行,然後選擇參數選項卡。
- 在啟動時傳遞的參數部分,添加
-FIRDebugEnabled
。
檢查您的日誌消息中是否有任何錯誤消息。
性能監控使用
Firebase/Performance
標記其日誌消息,以便您可以過濾日誌消息。檢查以下類型的日誌,這些日誌表明性能監控正在記錄性能事件:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
單擊 URL 以在 Firebase 控制台中查看您的數據。數據在儀表板中更新可能需要一些時間。
如果您的應用沒有記錄性能事件,請查看故障排除提示。
第 4 步:(可選)為特定代碼添加自定義監控
要監控與應用中特定代碼相關的性能數據,您可以檢測自定義代碼跟踪。
使用自定義代碼跟踪,您可以測量應用程序完成特定任務或一組任務需要多長時間,例如加載一組圖像或查詢您的數據庫。自定義代碼跟踪的默認指標是其持續時間,但您也可以添加自定義指標,例如緩存命中和內存警告。
在您的代碼中,您可以使用性能監控 SDK 提供的 API 定義自定義代碼跟踪的開始和結束(並添加任何所需的自定義指標)。
訪問為特定代碼添加監控以了解有關這些功能以及如何將它們添加到您的應用程序的更多信息。
第 5 步:部署您的應用程序,然後查看結果
在您使用 Xcode 模擬器和一台或多台測試設備驗證性能監控後,您可以將應用程序的更新版本部署給您的用戶。
您可以在 Firebase 控制台的性能信息中心監控性能數據。
已知的問題
- 性能監控已知與 GTMSQLite 的兼容性問題。我們建議不要對使用 GTMSQLite 的應用程序使用性能監控。
- 調用
FirebaseApp.configure()
後的方法調配可能會干擾性能監控 SDK。 - iOS 8.0-8.2 模擬器的已知問題會阻止性能監控捕獲性能事件。這些問題已在 iOS 8.3 Simulator 及更高版本中得到修復。
- 使用 NSURLSession 的
backgroundSessionConfiguration
建立的連接將比預期的連接時間長。這些連接在進程外執行,時間反映進程內回調事件。
下一步
查看並運行GitHub 上的性能監控 iOS 代碼示例。
詳細了解性能監控自動收集的數據:
- 與應用生命週期相關的數據,例如應用啟動時間
- 應用中的屏幕渲染數據
- 您的應用發出的HTTP/S 網絡請求的數據
在 Firebase 控制台中查看、跟踪和過濾您的性能數據。
通過檢測自定義代碼跟踪,為您的應用程序中的特定任務或工作流添加監控。