为 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);