您可以在 Android Studio 中直接查看和处理来自Firebase Crashlytics 和Android Vitals 的应用崩溃数据。此集成将堆栈跟踪数据和崩溃统计信息从 Crashlytics 和 Google Play 提取到 Studio IDE 中的**应用质量洞察**工具窗口,因此您无需在浏览器和 IDE 之间来回切换。开发团队可以从以下关键功能中受益:
- 查看代码中与相关的 Crashlytics 事件数据相对应的已高亮显示的行。
- 查看主要崩溃的堆栈跟踪,并点击堆栈跟踪跳转到代码中的相关行。
- 查看主要崩溃和非致命事件的摘要统计信息,例如按设备制造商和 Android 版本分组。
- 按严重性、时间和应用版本等属性筛选事件。
- 获取一个浏览器链接,该链接将打开 Crashlytics 仪表板页面,其中包含有关该事件的更多详细信息。
- 获取有助于您更轻松地理解和解决某些问题根本原因的见解。
Android Vitals 报告可用于发布到 Google Play 的所有应用。如果您尚未使用 Crashlytics,并且想了解有关其产品的更多信息,请参阅Firebase Crashlytics。
开始使用
要在 Android Studio 中查看 Crashlytics 数据,您需要在应用项目中设置 Firebase 和 Crashlytics。方法如下:通过转到**工具 > Firebase**打开 Android Studio 中的 Firebase 助手,点击**Crashlytics**,然后按照教程将 Firebase 和 Crashlytics 添加到您的项目中。您可以在Firebase 的 Android 入门指南中阅读有关 Firebase 助手工作流程的更多信息。
如果您已将 Firebase 和 Crashlytics 添加到您的应用中,请点击头像图标在 IDE 中登录您的开发者帐户。登录后,点击**应用质量洞察**工具窗口。您应该会看到面板填充了来自 Crashlytics 的报告。
分析 Android Vitals
**应用质量洞察**包含Android Vitals数据。这使您可以更轻松地访问 Google Play 收集的核心指标并改善用户体验。使用 Android Vitals 解决与应用稳定性相关的问题,以帮助提高您在 Google Play 上应用的质量。
您可以查看 Android Vitals 问题,对其进行筛选,并从堆栈跟踪跳转到代码,所有这些都可以在**应用质量洞察**工具窗口中完成。要开始,请按照以下步骤操作:
- 使用工具栏末尾的个人资料图标登录您的 Android Studio 开发者帐户。
- 通过点击 Android Studio 中的工具窗口或点击**查看 > 工具窗口 > 应用质量洞察**打开**应用质量洞察**。
- 点击**应用质量洞察**内的**Android Vitals**选项卡。
可选:要对可调试版本使用版本控制集成,请将最新的Firebase Crashlytics SDK(或 Firebase Android 物料清单)添加到您的应用中。然后将以下代码添加到模块级
build.gradle.kts
或build.gradle
文件中。发行版(不可调试)版本默认启用此标志。
Kotlin
android { buildTypes { getByName("debug") { vcsInfo { include = true } } } }
Groovy
android { buildTypes { debug { vcsInfo { include true } } } }
在 Android Studio 中分析 Crashlytics 数据
**应用质量洞察**工具窗口具有丰富的數據,可讓您深入了解用戶遇到的事件,並提供連結,幫助您快速導覽到這些事件的來源。
- 使用应用程序 ID 下拉菜单选择要分析的应用程序 ID。例如,虽然您可能在 IDE 中处理应用程序的调试版本,但您可能希望查看用户安装的应用程序生产版本的事件数据。
- **问题**面板显示 Crashlytics 拥有数据的顶级事件,并按对您影响最大的崩溃进行排序。
- 按变体查看事件,或者查看具有相似堆栈跟踪的事件组。按变体分析事件可以帮助您确定崩溃的根本原因。
**堆栈跟踪**选项卡显示您在**问题**面板中点击的事件的最新事件的详细信息。您可以查看事件的堆栈跟踪,并点击堆栈跟踪跳转到代码库中的相关行。如果您的代码自崩溃发生以来已更改,请点击堆栈跟踪中错误旁边的**显示差异**以查看当前代码与生成崩溃的代码库版本之间的差异。
还提供有关受影响的设备类型、其 Android 版本和事件发生时间的信息,以及 Firebase Crashlytics 仪表板中事件的链接。要浏览组中多个事件的信息,请使用左右箭头。点击**关闭问题**可直接从面板关闭问题。
- **键**和**日志**选项卡显示每个 Crashlytics 报告的自定义键值对和日志。
- **详细信息**面板按设备类型和 Android 版本细分崩溃计数,因此您可以确定哪些用户组受影响最大。它还显示哪些应用版本发生了崩溃以及受影响的用户数量。
- 阅读并附加到问题的注释,以便它们在 Firebase 控制台和您的团队成员可见。要撰写有关问题的注释,请选择该问题并打开**注释**面板。您必须对 Crashlytics 项目具有写入权限才能写入注释。带有注释的问题会在**问题**面板中显示带有“注释”图标。
- 使用各种筛选器来细化某些事件子集。您可以选择或取消选择致命的、非致命的和ANR事件,还可以按时间、应用版本、Crashlytics 信号、设备制造商和型号以及 Android 平台版本进行筛选。请注意,对于 Crashlytics 信号状态,当问题过去已被关闭并且在应用的新版本中再次发生时,该问题被视为回归。
除了能够从堆栈跟踪导航到代码外,您还可以从代码跳转到堆栈跟踪:Android Studio 现在使用崩溃槽图标对与崩溃相关的代码行进行注释,以便您可以轻松地发现并调试它们。
当您将鼠标悬停在崩溃图标上时,将出现一个弹出窗口,显示有多少事件涉及该代码行以及事件频率。
点击崩溃图标可查看更详细的事件列表,包括给定事件的频率和受影响的用户数量。点击特定事件可跳转到**应用质量洞察**工具窗口中的事件详细信息。
Android Vitals 和 Crashlytics 之间的数字差异
请注意,Android Vitals 和 Crashlytics 可能报告与相同崩溃关联的用户和事件数量的不同值。出现这些差异是因为 Play 和 Crashlytics 可以在不同的时间和针对不同的用户捕获崩溃。以下是 Play 和 Crashlytics 计数可能不同的几个原因:
- Play 从启动时开始捕获崩溃,而 Crashlytics 捕获 Crashlytics SDK 初始化后发生的崩溃。
- 如果用户在获得新手机时选择退出崩溃报告,则不会将这些崩溃报告给 Play;但是,Crashlytics 根据应用自己的隐私策略捕获崩溃。
离线状态下调查功能有限
如果您发出新的请求(例如,点击**刷新**),并且 Android Studio 无法与 Crashlytics 通信,则**应用质量洞察**窗口允许您进入**离线模式**。
在此模式下,您可以继续调查问题和来自缓存数据的最新事件。某些功能(例如更改某些筛选器选项或关闭问题)不可用。要重试与 Crashlytics 的连接并返回联机状态,请点击**重新连接**。