Firebase和Crashlytics – 使用哪一个?

自Firebase崩溃报告发布以来,其中一个最突出的问题是从Crashlytics转移还是没有。

比较两种崩溃报告服务有什么优缺点?

当考虑两者之间的切换时,如下所列,有利有弊。

注意Firebase崩溃报告目前标记为beta ,Google仍在收集早期反馈以改进服务。 所以现在缺少的东西最有可能在不久的将来添加。 (自2016年11月7日起不再进入测试版)

优点

  • 普通和本机崩溃 (看起来本机崩溃只在Crashlytics @ Fabric控制台中可见)现在在Firebase中显示
  • 自动与Firebase Analytics集成,可以将遇到崩溃的用户分组到受众群体中,并为崩溃提供上下文(通过事件)
  • 简单易用的设置(仅包括Gradle模块)
  • 带有其他Firebase产品的一体化控制台(如果您打算使用它们)
  • 较少的方法 (尽管它包括Analytics,使用标准方法允许ProGuard剥离几乎所有东西,因此谷歌为此提供支持)
  • 可以基于每个用户关闭收集分析[感谢racs]
  • 发送有关新问题和退步问题的通知电子邮件(如Fabric所做)

缺点

  • 无法搜索崩溃
  • 必须手动上传ProGuard / DexGuard映射文件(Google就是这个)
  • 发生崩溃后,无法在会话中拥有监听器
  • 在设备上需要Google Play服务(大要求)[感谢Gerrit Hoekstra]

总而言之,Crashlyticsfunction更加完善,但Firebase即将迎头赶上很多东西。 两者都是免费的,所以这不是障碍。

更新09/12/2016

由于Ali的意见,我已经更新了这个答案。

以下是自Sebastiano回答以来的一些更新:

  • 截至11月7日,Firebase崩溃报告已不再处于测试阶段
  • 通过新的Google Analytics集成,您可以将Google Analytics事件视为崩溃报告的一部分,以便了解发生的情况
  • 现在可以将崩溃标记为已关闭
  • Firebase现在会针对新问题和退步问题发送通知电子邮件
  • 即将推出自动上传映射文件的插件
  • 实际上不支持原生崩溃,但我们正在努力

(我处理Firebase崩溃报告)