正在尝试将Firebase Crashlytics添加到应用程序。已添加到文件android/app/build.gradle:apply-plugin:'com.google.firebase.crashlytics'。已添加到android/build.gradle文件:classpath'com.google.firebase:firebase-crashlytisgradle:2.8.1'。已初始化:
if (!kIsWeb) {
if (kDebugMode) {
await FirebaseCrashlytics.instance
.setCrashlyticsCollectionEnabled(false);
}
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
}
在我的initState中创建了一个crash():
void initState() {
super.initState();
FirebaseCrashlytics.instance.crash();
}
如何正确设置?
如果正在执行此行,则Crashlytics不会发送任何崩溃:
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(false);
请参阅此文档以供参考。确保在运行测试时不会执行此操作。
此外,在测试时,我建议您在崩溃发生时进行更多控制,例如使用按钮。类似于这样:
TextButton(
onPressed: () => throw Exception(),
child: const Text("Throw Test Exception"),
),
在某些情况下,Crashlytics SDK会在重新启动应用程序时尝试上传崩溃报告。如果崩溃在启动过程中发生得太早,这可能会阻止Crashlytics实际上传崩溃报告。
此外,这将帮助您避免发生过多的崩溃。