init method
Future<void>
init(
- BuildContext context, {
- FirebaseOptions? android,
- FirebaseOptions? ios,
- FirebaseOptions? macos,
- FirebaseOptions? windows,
- FirebaseOptions? linux,
- FirebaseOptions? web,
Implementation
Future<void> init(BuildContext context, {
FirebaseOptions? android,
FirebaseOptions? ios,
FirebaseOptions? macos,
FirebaseOptions? windows,
FirebaseOptions? linux,
FirebaseOptions? web,
}) async {
if (_isInitialized) return;
_context = context;
try {
WidgetsFlutterBinding.ensureInitialized();
// Apply optional configurations before initializing
if (android != null) _DefaultFirebaseOptions.android = android;
if (ios != null) _DefaultFirebaseOptions.ios = ios;
if (macos != null) _DefaultFirebaseOptions.macos = macos;
if (windows != null) _DefaultFirebaseOptions.windows = windows;
if (linux != null) _DefaultFirebaseOptions.linux = linux;
if (web != null) _DefaultFirebaseOptions.web = web;
await firebase;
// Optional: Configure Crashlytics if needed
// FlutterError.onError =
// FirebaseCrashlytics.instance.recordFlutterFatalError;
_isInitialized = true;
// AppUtils.log("Firebase initialized successfully");
} catch (e) {
// AppUtils.log('Firebase initialization error: $e');
}
}