禁用 flutter web 应用程序的 crashlytics 并启用 flutter 移动应用程序

Lak*_*ain 4 incompatibility dart crashlytics flutter flutter-web

我想禁用 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();
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Lax*_*tha 5

如果你导入

导入'包:flutter/foundation.dart';

有一个可用的常量,kIsWeb您可以使用它来根据平台初始化 crashlytics。

就像是

if(!kIsWeb) {
  initializeFlutterFire();
}
Run Code Online (Sandbox Code Playgroud)