Flutter Crashlytics - 没有非致命颤振错误的崩溃日志

Flutter Crashlytics - No Crash log for non-fatal flutter error

我们正在 flutter 应用中使用 firebase_crashlytics: ^0.4.0+1。在 runApp() 中,我们开始监听错误和崩溃,就像文档中提到的那样。

runZonedGuarded(() {
    runApp(
..
}, (error, stackTrace) {        
FirebaseCrashlytics.instance.recordError(error, stackTrace);
});

一般都会报告崩溃,但不会报告这些类型的崩溃WIDGETS 库引起的异常。 在某些情况下,对象可能为空,但没有向 firebase crashlytics 仪表板报告崩溃,而是没有任何反应。用户只会收到一个灰色屏幕,仅此而已。 因此,我们只会在用户报告这些错误时收到通知,但不会收到任何日志。 这是一个非致命错误,我们应该使用 recordFlutterError 方法吗?

顺便说一句,抛出错误时将调用它:

    Function originalOnError = FlutterError.onError;
FlutterError.onError = (FlutterErrorDetails errorDetails) async {
  await FirebaseCrashlytics.instance.recordFlutterError(errorDetails);
  // Forward to original handler.
  originalOnError(errorDetails);

即使调用方法 originalOnError(errorDetails),错误也不会记录在 firebase crashlytics 仪表板中。 我们怎样才能让这些非致命错误也被报告?

日志记录由 firebase crashlytics 完成。 firebase 控制台仪表板中的默认过滤器设置为 crashes。移除过滤器,我们可以看到所有报告的错误、崩溃、非致命错误。 多亏了这个