为 flutter web 应用程序禁用 crashlytics 并为 flutter 移动应用程序启用
Disable crashlytics for flutter web app and enable for flutter mobile app
我想禁用 web 的 crashlytics 并在我的 flutter 应用程序的 android 和 iOS 中保持启用状态,因为 web 不支持 firebase crashlytics。谁能告诉我我应该怎么做。没有 Platform.isWeb
所以我很困惑。请帮帮我,让我知道。这是我的 main.dart
代码供参考。
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return FutureBuilder(
// Initialize FlutterFire
future: Firebase.initializeApp(),
builder: (context, snapshot) {
// Firebase Crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
// Check for errors
if (snapshot.hasError) {
return SomethingWentWrong();
}
// Show Application
if (snapshot.connectionState == ConnectionState.done) {
return StreamProvider<User>.value(
initialData: null,
value: AuthService().user,
child: MaterialApp(
debugShowCheckedModeBanner: false,
home: Wrapper(),
),
);
}
// Initialization
return PouringHourGlassPageLoad();
},
);
}
}
如果你导入
import 'package:flutter/foundation.dart';
有一个名为 kIsWeb
的可用常量,您可以使用它来根据平台初始化 crashlytics。
类似
if(!kIsWeb) {
initializeFlutterFire();
}
kIsWeb
是常量,它添加到基础库中,它告诉应用程序是否 运行 在网络上。
import 'package:flutter/foundation.dart';
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(!kIsWeb);
我想禁用 web 的 crashlytics 并在我的 flutter 应用程序的 android 和 iOS 中保持启用状态,因为 web 不支持 firebase crashlytics。谁能告诉我我应该怎么做。没有 Platform.isWeb
所以我很困惑。请帮帮我,让我知道。这是我的 main.dart
代码供参考。
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return FutureBuilder(
// Initialize FlutterFire
future: Firebase.initializeApp(),
builder: (context, snapshot) {
// Firebase Crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
// Check for errors
if (snapshot.hasError) {
return SomethingWentWrong();
}
// Show Application
if (snapshot.connectionState == ConnectionState.done) {
return StreamProvider<User>.value(
initialData: null,
value: AuthService().user,
child: MaterialApp(
debugShowCheckedModeBanner: false,
home: Wrapper(),
),
);
}
// Initialization
return PouringHourGlassPageLoad();
},
);
}
}
如果你导入
import 'package:flutter/foundation.dart';
有一个名为 kIsWeb
的可用常量,您可以使用它来根据平台初始化 crashlytics。
类似
if(!kIsWeb) {
initializeFlutterFire();
}
kIsWeb
是常量,它添加到基础库中,它告诉应用程序是否 运行 在网络上。
import 'package:flutter/foundation.dart';
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(!kIsWeb);