Firebase崩溃分析仍在等待中 Flutter

3

我想在Firebase Crashlytics中跟踪我的Flutter Android / IOS崩溃,但是跟踪应用程序的第一个崩溃存在问题,并且仍在监听第一个崩溃。

在pubspec.yaml文件中

firebase_crashlytics:
firebase_analytics:
firebase_core: ^1.7.0

在应用程序的build.gradle文件中。
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'io.fabric'

在 build.gradle 中

buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }

    dependencies {
        classpath 'com.google.gms:google-services:4.3.0'
        classpath 'io.fabric.tools:gradle:1.26.1'
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

在Flutter的main.dart中:

WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseCrashlytics.instance
      .setCrashlyticsCollectionEnabled(true);
  FirebaseCrashlytics.instance.setUserIdentifier("51");
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
  FirebaseCrashlytics.instance.crash();

我甚至尝试了 Android 原生示例崩溃 throw new RuntimeExeption("test Firebase crash"); 但 Firebase 仍然在监听第一个应用程序崩溃。

更新

48 小时后,Firebase Crashlytics 页面如下所示:

待定图片


你最终解决了这个问题吗?我跟你一样,现在也在使用iOS。 - theLastNightTrain
3个回答

0
Firebase.initializeApp().then((_) async {
    //enable Crashlytics only when app in release & production
    await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(!kDebugMode);
    //another code here
}

如果您想始终捕获任何崩溃,请将!kDebugMode更改为true


0

我认为你可以在你的代码中使用这行代码。因为有了这行代码,我认为你就不会得到崩溃报告。我也遇到了同样的问题...下面的代码运行得非常好。

implementation 'com.google.firebase:firebase-crashlytics:17.3.1'

请在 app.build.gradle 文件中使用此代码。
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.billingclient:billing:3.0.2'
    implementation platform('com.google.firebase:firebase-bom:29.0.4')
    implementation 'com.google.firebase:firebase-analytics'
}
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.gms.google-services'

在 Android.build.gradle 文件中。
dependencies {
    classpath 'com.android.tools.build:gradle:4.1.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
    classpath 'com.google.gms:google-services:4.3.5'
}

在你的 main.dart 中使用这段代码。
Future main() async{
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
            
    FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
    runApp(
        MyApp(),
    );
}

我在启动初始化函数中加入了这行代码来使应用崩溃。你可以在合适的位置使用这行代码。
FirebaseCrashlytics.instance.crash();

-1

尝试过滤非致命错误,因为应用程序的Flutter部分会生成非致命错误。

前往Firebase控制台 -> 崩溃分析 -> 过滤器 -> 然后选择 ->

enter image description here

这是我的依赖项:

dependencies {
    classpath 'com.android.tools.build:gradle:4.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.google.gms:google-services:4.3.4'
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.0'
}

以及实现

dependencies {
    ...

    implementation 'com.google.firebase:firebase-messaging:21.0.1'
    implementation 'com.google.firebase:firebase-crashlytics:17.3.1'
    ...
}

谢谢!但是你能再解释一下吗?我的意思是我应该在哪里过滤它?是在我的Firebase控制台吗?还是其他地方? - HusseinDTS
@HusseinDTS 这是 Firebase 控制台,我编辑了答案。 - DeePanShu
好的,但我甚至无法进入那个页面。正如我在问题更新中提到的那样,它是一个待处理的页面。 - HusseinDTS
你有添加Json文件吗? - DeePanShu
好的。但是现在我收到了“找不到google-service.json”的错误提示,但它已经在应用程序文件夹中了。 Firebase消息传递正在工作。 - HusseinDTS
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接