对于您的每个应用,Crashlytics 都会自动计算并显示“未遇到崩溃问题”指标,特别是“未遇到崩溃问题”的用户数所占的百分比和“未遇到崩溃问题”的会话数所占的百分比。这些指标可以帮助您快速了解应用的稳定性。
您可以在 Crashlytics 信息中心顶部找到这些“未发生崩溃问题”指标的图表,并且可以按各种维度(例如时间范围、版本以及 [对于 Android 应用] Google Play 轨道)筛选这些图表。
请注意,“未遇到崩溃问题”指标仅针对严重事件(以及针对 Unity 和 Flutter 报告为严重事件的未捕获异常)计算。
获取“未遇到崩溃问题”指标
对于大多数应用,当您将 Crashlytics SDK 集成到应用中时,系统会自动计算“未遇到崩溃问题”指标。不过,在某些情况下,Crashlytics 不会收到计算“未遇到崩溃问题”指标所需的数据:
使用旧版 Crashlytics SDK 的应用 build(请参阅下文,了解支持的最低版本)
停用自动 Crashlytics 数据收集和报告的应用 build(如需了解详情,请参阅本页面中的“数据收集设置对指标质量的影响”部分)
支持“未遇到崩溃问题”指标的 SDK 版本
如需获取“未遇到崩溃问题”指标,您必须更新应用以使用支持这些指标的 Crashlytics SDK 版本。以下是支持“未遇到崩溃问题”指标的 Crashlytics SDK 的最低版本:
- Apple 平台:v10.8.0+
- Android:v18.6.0+ (BoM v32.6.0+)
- Flutter:v3.4.5+
- Unity:11.7.0+
您应该会自动获得使用更新后的 SDK 版本的应用 build 的“未遇到崩溃问题”指标。
什么是“未遇到崩溃问题”指标?
“未遇到崩溃问题”指标包括“未遇到崩溃问题”的用户数和“未遇到崩溃问题”的会话数。
“未遇到崩溃问题”指标取决于两个概念:用户数和会话数。如需为您的应用获取“未遇到崩溃问题”指标,您需要使用可以发送有关这两种概念的数据的 Crashlytics SDK 版本。以下是 Crashlytics 区分用户和会话的方式:
用户是指您的应用在设备上的单独安装。例如,如果某位用户在多台不同的设备上安装了您的应用,Crashlytics 就会将每次安装分别统计为不重复的用户。
活跃日是指用户与应用互动的连续时间段。当应用启动或应用在后台运行至少 30 分钟后进入前台时,新活跃日将开始。
此外,系统只会针对严重事件(以及针对 Unity 和 Flutter 报告为严重异常的未捕获异常)计算“未遇到崩溃问题”指标。
“未遇到崩溃问题”的用户数指标是什么?
“未遇到崩溃问题”的用户数指标是指在所选时间段内与您的应用互动过但未遇到崩溃问题的用户所占的百分比。此指标反映了您的应用为单个用户提供的体验。当目标是整体用户体验时,它经常被作为整个应用的关键健康指标予以跟踪。
此指标可能特别适用于以下类型的应用:
包含长时间和休闲活跃日的应用,例如点播流式传输应用、社交媒体应用或休闲游戏,用户可以在其中从上次暂停的地方继续。由于用户与这些应用互动的时间通常较长(通常是多活跃日),因此最大限度地增加未遇到崩溃问题的用户总数比确保每个活跃日都没有问题更重要。
拥有成熟用户群的应用(例如成熟的工作应用或大型在线平台),在此类平台上,用户对这些平台的习惯和需求超过了崩溃所带来的不便。
“未遇到崩溃问题”的会话数指标是什么?
“未遇到崩溃问题”的会话数指标是在所选时间段内发生且未以崩溃结束的会话所占的百分比。“未发生崩溃的活跃日”表明应用的总体可靠性,并有助于建立用户信心。在新版本的早期阶段,跟踪“未发生崩溃问题的活跃日”尤为重要,因为在这种情况下,用户的首次互动过程中发生的崩溃可能会立即让用户感到沮丧,最终直至放弃。
对于以下类型的应用,此指标通常是首选指标:
使用模式短而密集的应用,例如实时游戏或时效性在线影音应用,在关键时刻发生崩溃可能会使用户崩溃。
造成严重后果的应用,例如金融应用或导航应用,强调体验的最终状态。这类应用发生崩溃可能会导致严重问题,导致用户对应用失去信任。
计算“未遇到崩溃问题”指标
如何计算“未遇到崩溃问题”的用户数?
“未遇到崩溃问题的用户数”值表示与您的应用互动过,但在所选时间段内未遇到崩溃问题的用户所占的百分比。
以下是计算未遇到崩溃问题的用户所占百分比的公式。 其输入值由 Crashlytics SDK 提供,基于您在 Crashlytics 信息中心右上角的下拉菜单中选择的时间段。
CRASH_FREE_USERS_PERCENTAGE = 1 - (CRASHED_USERS / ALL_USERS)
CRASHED_USERS 表示在所选时间段内遇到崩溃的唯一身份用户总数。
ALL_USERS 表示在所选时间段内与您的应用互动过的用户总数。
未遇到崩溃问题的用户所占的百分比是一段时间内的汇总情况,而非平均值。
查看计算示例
例如,假设您的应用有 3 位用户;我们将其称为用户 A、用户 B 和用户 C。下表显示了哪些用户每天与您的应用互动,以及其中哪些用户在当天发生了崩溃:
星期一 | 星期二 | 星期三 | |
---|---|---|---|
与您的应用互动过的用户 | A、B、C | A、B、C | A、B |
发生崩溃的用户 | C | B | A |
在星期三,未遇到崩溃问题的用户所占百分比为 50%(1/2 的用户未遇到崩溃问题)。
有 2 位用户在周三与您的应用互动过,但其中只有 1 位用户(用户 B)没有遇到崩溃问题。在过去 2 天内,未遇到崩溃问题的用户所占百分比为 33.3%(1/3 的用户未遇到崩溃问题)。
3 位用户在过去 2 天内与您的应用互动过,但其中只有 1 位用户 (C) 未遇到崩溃问题。在过去 3 天内,未遇到崩溃问题的用户所占百分比为 0%(所有 3 个用户都遇到了崩溃问题)。
3 位用户在过去 3 天内与您的应用进行了互动,但这 3 位用户都遇到了崩溃问题。
不应比较不同时间段的“未遇到崩溃问题的用户数”值。单个用户遇到崩溃问题的概率越高,其使用应用的次数越多,因此在较长的时间段内,未遇到崩溃问题的用户数的值可能会越小。
如何计算“未遇到崩溃问题”的会话数”?
“未发生崩溃问题的活跃日”值表示您的应用中发生崩溃,但所选时间段内未发生崩溃的活跃日所占的百分比。
以下是计算未遇到崩溃问题的活跃日所占百分比的公式。其输入值由 Crashlytics SDK 提供,基于您在 Crashlytics 信息中心右上角的下拉菜单中选择的时间段。
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (CRASHED_SESSIONS / ALL_SESSIONS)
CRASHED_SESSIONS 表示所选时间段内因崩溃而结束的活跃日数。
ALL_SESSIONS 表示所选时间段内您的应用中发生的活跃日总数。
未遇到崩溃问题的活跃日所占的百分比是一段时间内的汇总情况,而非平均值。
数据收集设置对指标质量的影响
根据您的数据收集设置,您的“未遇到崩溃问题”指标可能会显示低值或零值。以下是两种可能导致“未遇到崩溃问题”指标不可靠的常见情况:
如果您通过停用自动崩溃报告来启用自选式报告,则崩溃信息只能从明确选择启用数据收集功能的用户那里发送到 Crashlytics。因此,“未遇到崩溃问题”指标的准确性会受到影响,因为 Crashlytics 仅包含这些已选择启用该功能的用户(而非所有用户)的崩溃信息。这意味着,您的“未遇到崩溃问题”指标可能不太可靠,也不能反映您的应用的整体稳定性。
如果您已停用自动数据收集功能,则可以使用
sendUnsentReports
将设备端缓存的报告发送到 Crashlytics。使用此方法会将崩溃数据发送到 Crashlytics,但不会发送会话数据,这会导致控制台图表显示“未遇到崩溃问题”指标的低值或零值。