react-native-firebase crashlytics 未显示在 firebase 仪表板上

react-native-firebase crashlytics not showing up on firebase dashboard

我正在使用 firebase crashlytics。我正在通过

造成崩溃
firebase.crashlytics().crash()

而且我没有在 firebase 仪表板上看到崩溃报告。崩溃是正常的,因为在 android 我得到了这个屏幕

然后 ios 应用程序冻结,我在 xcode

被带到这个页面

但是在 firebase 的 crashlytics 仪表板上没有显示崩溃。

是否有任何原因导致崩溃未显示在 crashlytics 仪表板上?我正在使用 react-native-firebase。我知道我正确安装了它,因为我尝试使用 java 在 android 上本地导致崩溃,并且我能够在 crashlytics 上看到崩溃。

firebase.crashlytics().crash() 无法正常工作。

我故意制造了一个错误来模拟当我点击一个按钮时发生的崩溃,并且该崩溃被捕获并立即显示在 Crashlytics 仪表板中。

Ej:我使用 React Native,所以我将 this.props.etc... 更改为 this.state.etc... 创建一个 "undefined is not a function exception"。

希望对您有所帮助!

TL;DR: 运行 react-native run-android --variant=release 让 Crashlytics 开始正常工作,前提是你已经正确设置了所有内容(自从 firebase.crashlytics().crash() 使您的应用程序崩溃。)

请注意 - 为了 react-native run-android --variant=release 正常运行,您需要根据此处的说明为发布版本配置您的 APK:https://facebook.github.io/react-native/docs/signed-apk-android

PROOF OF CRASHLYTICS PROPERLY REPORTING AS OF THE WRITING OF THIS ANSWER。看到我的无崩溃用户评分下降,我从来没有这么高兴过:)

如果您有任何问题,请告诉我!设置签名可能有点混乱,所以如果您有任何问题,请告诉我。


这是一个非常令人沮丧的问题,但幸运的是,我找到了解决方案,而且我和你的处境完全一样。

看到那个大红屏了吗?这是 React Native 告诉你的方式,在开发过程中,你犯了某种错误。不是很明显的是,这个红色屏幕阻止了错误进入我们的错误报告工具。 运行 处于发布模式的应用程序将阻止 React Native 显示红屏,并且您的错误报告工具将能够报告崩溃。


由于 Gian 有 ,因此 firebase.crashlytics().crash() 似乎无法正常工作。然而,事实并非如此。每当你在调试模式下运行时(只要你能看到红屏,你就处于我所说的调试模式),Crashlytics 和其他崩溃报告工具无法捕获 Native Exceptions,但它们可以捕获 Javascript例外。 一旦你 运行 应用程序处于我上面描述的发布模式,Crashlyitcs 将能够捕获本机异常。如果你查看 Crashlytics.crash(),它实际上是在 Java 中故意编写的崩溃。为了让 Crashlytics 真正“听到”应用程序因本机异常而崩溃,您必须 运行 处于发布模式,而不是调试模式。 很抱歉在这里打败了死马,但我整个上午都在研究这个问题,觉得有必要将这些信息分享给与我遭遇同样命运的其他人。

在 iOS 中,您需要取消应用程序与 Xcode 的链接,以便它在发生崩溃时不会冻结。

  1. 构建应用程序。
  2. 在 Xcode 中停止项目而不终止模拟器或 设备。
  3. 然后你可以在不冻结的情况下崩溃Xcode。
  4. 重新打开应用程序,以便 Firebase 可以发送崩溃报告。

有关这方面的更多详细信息,请参阅 Firebase 文档中的 here

一定能帮到你

  1. 转到编辑方案
  2. 运行 -> 信息
  3. 将生成配置更改为发布。
  4. 现在运行 App

    并手动使您的应用程序崩溃。现在您可以查看 crashlytics 仪表板

也试试这个

  1. 启动您的 simulator/iPhone
  2. 按停止
  3. 启动您的应用并强制崩溃
  4. 从 simulator/iPhone
  5. 重新启动应用程序
  6. 在 crashlytics 仪表板中查看崩溃报告。

Firebase Teams 很愚蠢,但解决方案是: 1- 强制崩溃
2- 使用 ide 或 cli 启动应用程序 3- 停止从 ide 或 cli 启动应用程序 4- 像普通用户一样从 smilator 启动应用程序

您将在 firebase 控制台中看到崩溃。

您的 package.json 上有哪个版本的 @react-native-firebase/crashlytics

您需要使用 2020 年 6 月之后发布的版本之一,否则它没有 Fabric 删除更改​​。例如,我必须更新到

"@react-native-firebase/app": "11.2.0",
"@react-native-firebase/crashlytics": "11.2.0",

您可以在此处查看可用版本: https://www.npmjs.com/package/@react-native-firebase/crashlytics