Issue Velocity Alert发送时机咨询及配置后未收到通知问题
Crashlytics Issue Velocity Alert 未触发?解析发送时机与排查步骤
我之前也碰到过类似的困惑,结合实际排查经验和对Crashlytics规则的理解,给你梳理下这个警报的发送逻辑和可能的问题原因:
一、Issue Velocity Alert 的准确发送时机
首先得明确这个警报的触发逻辑,官方描述的“1小时内导致1%用户会话崩溃”其实有几个容易被忽略的细节:
- 针对单个Issue,而非所有崩溃总和:这个警报是触发给特定的单个崩溃Issue,不是所有崩溃加起来的总占比达到1%。比如你有10个不同的崩溃,每个占0.5%,总占比5%,但单个都没到1%,就不会触发。
- 统计维度是“会话崩溃率”,不是用户占比:Crashlytics里的“会话”指的是APP启动或从后台切回前台的一次独立会话,不是用户数。比如100个用户产生了200个会话,其中2个会话因该Issue崩溃,那就是1%的会话崩溃率,满足触发条件;但如果是100个用户里1个崩溃,会话数只有1,那就是0.5%的会话崩溃率,不满足。
- 有短时间的验证窗口:触发条件满足后,Crashlytics不会立刻发通知,会有几分钟的验证周期,避免一次性的崩溃 spike(比如测试环境的单次批量崩溃)导致误报。
- 同一触发周期只发一次通知:如果同一个Issue在1小时内持续满足阈值,只会发送一次通知,不会重复推送。
二、未收到通知的常见排查步骤
1. 确认触发条件是否真的达标
去Crashlytics Dashboard找到你测试的那个Issue,查看详情页顶部的**“会话崩溃率”**(会显示过去1小时/24小时的数值),确认是否确实达到了1%。很多时候是混淆了“用户崩溃占比”和“会话崩溃率”,导致误以为满足条件。
2. 检查通知权限与接收设置
- 虽然你说开启了所有警报,但要确认在Firebase控制台(Fabric已迁移至Firebase)的项目设置 > 通知里,你接收通知的邮箱/设备是否正确,有没有被邮箱服务商标记为垃圾邮件。
- 另外,确认你拥有项目的Owner或Editor角色,Viewer角色没有接收警报通知的权限。
3. 排查数据统计延迟
Crashlytics的崩溃数据同步到Dashboard存在一定延迟(通常几分钟到半小时),你测试的崩溃可能还没被计入1小时的统计窗口。可以等30分钟左右再查看Issue的崩溃率,或者多触发几次该Issue,确保会话崩溃率稳定达标。
4. 确认警报阈值是否被修改
有时候可能误操作修改了默认阈值:去Firebase控制台的Alerts > 管理警报,找到Issue Velocity Alert,查看它的阈值是不是被改成了高于1%的数值(比如2%),如果是,改回默认的1%即可。
5. 测试通知通道是否正常
可以手动测试警报功能:在Firebase控制台的Alerts页面,找到对应的Issue Velocity Alert规则,点击“测试警报”,如果能收到通知,说明通知通道没问题,问题出在触发条件上;如果收不到,那就是通知接收端的配置问题。
内容的提问来源于stack exchange,提问作者Gilles
相关产品推荐
相关产品推荐

