事前準備
如果您尚未將 Firebase 新增至 Apple 專案,請新增 Firebase。
步驟 1:將 Performance Monitoring 新增至應用程式
新增 Performance Monitoring SDK 後,Firebase 就會自動開始收集應用程式的畫面算繪資料、與應用程式生命週期相關的資料 (例如應用程式啟動時間),以及 HTTP/S 網路要求資料。
使用 Swift Package Manager 安裝及管理 Firebase 依附元件。
- 在 Xcode 中保持開啟應用程式專案,然後依序點選「File」>「Add Packages」。
- 系統提示時,請新增 Firebase Apple 平台 SDK 存放區:
- 選擇 Performance Monitoring 程式庫。
- 將
-ObjC
標記新增至目標的建構設定「Other Linker Flags」部分。 - 完成後,Xcode 就會自動開始在背景中解析並下載依附元件。
https://github.com/firebase/firebase-ios-sdk.git
接著,設定 Firebase 模組:
- 在
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; // ...
- 在應用程式委派作業的
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];
- 如果您使用 SwiftUI,則必須建立應用程式委派程式,並透過
UIApplicationDelegateAdaptor
或NSApplicationDelegateAdaptor
將其附加至App
結構體。您也必須停用應用程式委派程式 swizzling。詳情請參閱 SwiftUI 操作說明。SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
重新編譯應用程式。
步驟 2:產生初始資料顯示的效能事件
成功將 SDK 新增至應用程式後,Firebase 就會開始處理事件。如果您仍在本機開發,請與應用程式互動,產生事件以便初始資料收集和處理。
繼續使用模擬器或測試裝置開發應用程式。
在背景和前景之間切換應用程式,多次切換畫面與應用程式互動,以及/或者觸發網路要求,藉此產生事件。
前往 Firebase 主控台的「效能」資訊主頁。您應該會在幾分鐘內看到初始資料。
如果沒有看到初始資料,請參閱疑難排解提示。
步驟 3:(選用) 查看成效事件的記錄訊息
啟用偵錯記錄功能,如下所示:
- 在 Xcode (至少為 15.2 版) 中,依序選取「Product」 >「Scheme」 >「Edit scheme」。
- 從左選單中選取「執行」,然後選取「引數」分頁標籤。
- 在「Arguments Passed on Launch」部分中,新增
-FIRDebugEnabled
。
檢查記錄訊息,瞭解是否有任何錯誤訊息。
Performance Monitoring 會使用
Firebase/Performance
標記記錄訊息,方便您篩選記錄訊息。請檢查下列記錄類型,瞭解 Performance Monitoring 是否正在記錄效能事件:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
按一下網址,即可在 Firebase 控制台中查看資料。資料可能需要幾分鐘的時間才會更新至資訊主頁。
如果應用程式未記錄成效事件,請參閱疑難排解提示。
步驟 4:(選用) 為特定程式碼新增自訂監控
如要監控與應用程式中特定程式碼相關聯的成效資料,您可以檢測自訂程式碼追蹤記錄。
您可以透過自訂程式碼追蹤,測量應用程式完成特定工作或一組工作所需的時間,例如載入一組圖片或查詢資料庫。自訂程式碼追蹤的預設指標是其時間長度,但您也可以新增自訂指標,例如快取命中和記憶體警告。
在程式碼中,您可以使用 Performance Monitoring SDK 提供的 API 定義自訂程式碼追蹤的起點和終點 (並新增任何所需的自訂指標)。
如要進一步瞭解這些功能以及如何將這些功能新增至應用程式,請參閱「為特定程式碼新增監控功能」。
步驟 5:部署應用程式,然後查看結果
使用 Xcode 模擬器和一或多部測試裝置驗證 Performance Monitoring 後,您就可以向使用者部署更新版應用程式。
您可以在 Firebase 控制台的成效資訊主頁中監控成效資料。
已知問題
- Performance Monitoring 與 GTMSQLite 有已知的相容性問題。建議您不要在使用 GTMSQLite 的應用程式中使用 Performance Monitoring。
- 在呼叫
FirebaseApp.configure()
後執行方法轉換作業,可能會干擾 Performance Monitoring SDK。 - iOS 8.0 至 8.2 模擬器的已知問題,會導致 Performance Monitoring 無法擷取效能事件。這些問題已在 iOS 8.3 模擬器及後續版本中修正。
- 使用 NSURLSession 的
backgroundSessionConfiguration
建立的連線,連線時間會比預期的長。這些連線會在程序外執行,而時間點會反映程序內的回呼事件。
後續步驟
查看並執行 GitHub 上的 Performance Monitoring iOS 程式碼範例。
進一步瞭解 Performance Monitoring 自動收集的資料:
- 與應用程式生命週期相關的資料,例如應用程式啟動時間
- 應用程式中畫面轉譯的資料
- 應用程式發出的 HTTP/S 網路要求資料
在 Firebase 控制台中查看、追蹤及篩選成效資料。
檢測自訂程式碼追蹤記錄,為應用程式中的特定工作或工作流程新增監控功能。