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

问题描述 投票:3回答:2

我正在使用firebase crashlytics。我正在做一个崩溃

firebase.crashlytics().crash()

而且我没有在firebase仪表板上看到崩溃报告。崩溃是有效的,因为在Android上我得到这个屏幕enter image description here

并在ios上应用程序冻结,我被带到xcode上的这个页面

enter image description here

但是在firebase上的崩溃仪表板上,崩溃并没有出现。

是否有任何原因导致崩溃没有出现在崩溃仪表板上?我正在使用react-native-firebase。我知道我正确安装它是因为我尝试使用java本机地在android上导致崩溃,我能够看到崩溃的崩溃。

android firebase react-native crashlytics google-fabric
2个回答
0
投票

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

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

Ej:我使用React Native,所以我将this.props.etc ...更改为this.state.etc ...以创建“undefined不是函数异常”。

希望能帮助到你!


0
投票

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显示该红色屏幕,并且您的错误报告工具将能够报告崩溃。


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有pointed out in another answer to this question,,似乎firebase.crashlytics().crash()运作不正常。但是,这不是真的。无论何时您在调试模式下运行(任何时候您都可以看到红色屏幕,您正处于调用调试模式),Crashlytics和其他崩溃报告工具无法捕获本机异常,但它们可以捕获Javascript异常。一旦你在发布模式下运行应用程序,如上所述,Crashlyitcs将能够捕获本机异常。如果你看一下Crashlytics.crash(),它实际上是一个故意用Java编写的崩溃。为了让Crashlytics真正“听到”应用程序因本机异常而崩溃,您必须在发布模式下运行,而不是在调试模式下运行。很抱歉在这里击败死马,但我整个上午一直在研究这个问题,并认为将这些信息分享给那些遭受同样命运的人是恰当的。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.