在你开始之前
如果您还没有,请将 Firebase 添加到您的 Apple 项目中。
第 1 步:将性能监控添加到您的应用程序
添加 Performance Monitoring 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 SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
迅速
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
目标-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- 在您的应用委托的
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];
- 如果您使用的是 SwiftUI,则必须创建一个应用程序委托并通过
UIApplicationDelegateAdaptor
或NSApplicationDelegateAdaptor
将其附加到您的App
结构。您还必须禁用应用委托调配。有关详细信息,请参阅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(最低 v13.3.1)中,选择Product > Scheme > Edit scheme 。
- 从左侧菜单中选择运行,然后选择参数选项卡。
- 在启动时传递的参数部分中,添加
-FIRDebugEnabled
。
检查您的日志消息是否有任何错误消息。
Performance Monitoring 使用
Firebase/Performance
标记其日志消息,以便您可以过滤日志消息。检查以下类型的日志,这些日志表明性能监控正在记录性能事件:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
单击 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
建立的连接会比预期的连接时间长。这些连接在进程外执行,时间反映进程内回调事件。
下一步
查看并运行GitHub 上的性能监控 iOS 代码示例。
详细了解性能监控自动收集的数据:
- 与应用生命周期相关的数据,例如应用启动时间
- 应用程序中的屏幕渲染数据
- 您的应用发出的HTTP/S 网络请求的数据
在 Firebase 控制台中查看、跟踪和过滤您的性能数据。
通过检测自定义代码跟踪,在您的应用程序中添加对特定任务或工作流的监控。