import 'dart:async'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/material.dart'; import 'example.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); runZonedGuarded(() { runApp(App()); }, (error, stackTrace) { // Pass all uncaught errors from the framework to Crashlytics. FirebaseCrashlytics.instance.recordError(error, stackTrace); }); } class App extends StatelessWidget { const App({super.key}); //initialise firebase and crashlytics Future _initializeFirebase() async { await Firebase.initializeApp(); await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("Crash App"), ), body: FutureBuilder( future: _initializeFirebase(), builder: (context, snapshot) { if (snapshot.hasError) { return Center( child: Text("Unable to initialise Firebase"), ); } //firebase and crashlytics initialise complete if (snapshot.connectionState == ConnectionState.done) { return const Example(); } return Center( child: Column( children: [ CircularProgressIndicator(), Text("Initialising Firebase") ], ), ); }, ), ), ); } }