使用应用质量洞察分析 Firebase Crashlytics 和 Android Vitals 中的问题

您可以在 Android Studio 中直接查看和处理来自 Firebase CrashlyticsAndroid Vitals 的应用崩溃数据。此集成将堆栈跟踪数据和崩溃统计信息从 Crashlytics 和 Google Play 拉取到 Studio IDE 中的应用质量洞察工具窗口,因此您无需在浏览器和 IDE 之间来回切换。开发团队可以从以下关键功能中受益:

  • 查看代码中与相关的 Crashlytics 事件数据关联的行。
  • 查看主要崩溃的堆栈跟踪,并点击堆栈跟踪跳转到代码中的相关行。
  • 查看有关主要崩溃和非致命事件的汇总统计信息,例如按设备制造商和 Android 版本分组。
  • 按严重性、时间和应用版本等属性筛选事件。
  • 获取一个浏览器链接,该链接将打开 Crashlytics 仪表板页面,其中包含有关事件的更多详细信息。
  • 获取有助于您更轻松地理解和解决某些问题根本原因的见解。

所有发布到 Google Play 的应用都可以使用 Android Vitals 报告。如果您尚未使用 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 data in Android Studio.

您可以查看 Android Vitals 问题、筛选它们,并从堆栈跟踪跳转到代码,所有这些操作都可以在应用质量洞察工具窗口中完成。要开始使用,请按照以下步骤操作

  1. 使用工具栏末尾的个人资料图标 登录 Android Studio 中的开发者帐户。
  2. 通过点击 Android Studio 中的工具窗口或点击查看 > 工具窗口 > 应用质量洞察打开应用质量洞察
  3. 应用质量洞察中点击Android Vitals选项卡。
  4. 可选:要为可调试版本使用版本控制集成,请将最新的 Firebase Crashlytics SDK(或 Firebase Android 物料清单)添加到您的应用中。然后将以下代码添加到模块级 build.gradle.ktsbuild.gradle 文件中。发行版(不可调试)默认启用此标志。

Kotlin

android {
  buildTypes {
    getByName("debug") {
      vcsInfo {
        include = true
      }
    }
  }
}

Groovy

android {
  buildTypes {
    debug {
      vcsInfo {
        include true
      }
    }
  }
}

应用质量洞察工具窗口包含丰富的数据,使您能够深入了解用户遇到的事件,并提供链接帮助您快速导航到这些事件的源代码。

App Quality Insights tool window

  1. 使用应用 ID 下拉菜单选择要分析的应用 ID。例如,虽然您可能在 IDE 中处理应用的调试版本,但您可能希望查看用户安装的生产版应用的事件数据。
  2. 问题面板显示了 Crashlytics 拥有数据的顶级事件,并按影响最大的崩溃排序。
  3. 变体查看事件,或具有相似堆栈跟踪的事件组。通过变体分析事件有助于识别崩溃的根本原因。
  4. 堆栈跟踪选项卡显示有关您在问题面板中点击的事件的最新发生情况的详细信息。您可以查看事件的堆栈跟踪,并点击堆栈跟踪跳转到代码库中的相关行。如果您的代码自崩溃发生以来已更改,请点击堆栈跟踪中错误旁边的显示差异以查看当前代码和生成崩溃的代码库版本之间的差异。

    Option to show diff in the AQI stack trace.

    此外,还提供了有关受影响的设备类型、Android 版本和事件发生时间的信息,以及 Firebase Crashlytics 仪表板中事件的链接。要浏览组中多个事件的信息,请使用左右箭头。点击关闭问题可直接从面板中关闭问题。

  5. 日志选项卡显示每个 Crashlytics 报告的自定义键值对和日志。
  6. 详细信息面板按设备类型和 Android 版本细分崩溃计数,以便您可以确定哪些用户组受影响最大。它还显示了哪些应用版本遇到崩溃以及受影响的用户数量。
  7. 阅读并附加问题注释,以便它们在 Firebase 控制台和您的团队成员中可见。要编写有关问题的注释,请选择该问题并打开注释面板。您必须具有 Crashlytics 项目的写入权限才能编写注释。带有注释的问题将在问题面板中显示“注释”图标
    App Quality Insights Notes panel.
  8. 使用各种过滤器来细化某些事件子集。您可以选择或取消选择致命 、非致命 ANR 事件,还可以按时间、应用版本、Crashlytics 信号、设备制造商和型号以及 Android 平台版本进行筛选。请注意,对于 Crashlytics 信号状态,当问题在过去已关闭并在应用的新版本中再次发生时,该问题被视为回归

除了能够从堆栈跟踪导航到代码之外,您还可以从代码跳转到堆栈跟踪:Android Studio 现在使用崩溃槽图标 注释与崩溃相关的代码行,以便您可以轻松地发现和调试它们。

当您将鼠标悬停在崩溃图标上时,会弹出一个窗口,显示有多少事件涉及该代码行以及事件频率。

Event summary when you hover over the crash icon

点击崩溃图标以获取更详细的事件列表,包括特定事件的频率和受影响的用户数量。点击特定事件以跳转到应用质量洞察工具窗口中的事件详细信息。

Event list when you click on the crash icon

Android Vitals 和 Crashlytics 之间的数字不同

请注意,Android Vitals 和 Crashlytics 可能会报告与同一崩溃关联的用户和事件数量的不同值。这些差异是由于 Play 和 Crashlytics 可以在不同时间和针对不同用户捕获崩溃造成的。以下是 Play 和 Crashlytics 计数可能存在差异的一些原因

  • Play 从启动时开始捕获崩溃,而 Crashlytics 捕获 Crashlytics SDK 初始化后发生的崩溃。
  • 如果用户在获得新手机时选择退出崩溃报告,则这些崩溃不会报告给 Play;但是,Crashlytics 根据应用自己的隐私政策捕获崩溃。

离线时调查功能有限

如果您发出新的请求(例如,通过点击刷新),而 Android Studio 无法与 Crashlytics 通信,则应用质量洞察窗口允许您进入离线模式

App Quality Insights offers offline mode.

在此模式下,您可以继续调查问题和来自缓存数据的最新事件。某些功能(例如更改某些筛选选项或关闭问题)不可用。要重试与 Crashlytics 的连接并返回到联机状态,请点击重新连接