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