// import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_core/firebase_core.dart' show Firebase, FirebaseOptions; import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform; import 'package:star_lock/flavors.dart'; class DefaultFirebaseOptions { static FirebaseOptions get currentPlatform { switch (F.appFlavor) { case Flavor.sky: return sky_android; case Flavor.xhj_bundle: return xhj_android; default: throw UnsupportedError( 'DefaultFirebaseOptions are not supported for this platform.', ); } } static const FirebaseOptions sky_android = FirebaseOptions( apiKey: 'AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g', appId: '1:281500445726:android:ddf52ac7b7f83cf5c4d20f', messagingSenderId: '281500445726', projectId: 'smart-lock-12b8c', storageBucket: 'skychip2023-ecdff.firebasestorage.app', ); static const FirebaseOptions xhj_android = FirebaseOptions( apiKey: 'AIzaSyAm8dJlBY5hjslJDVDBNd2bkWrJlGjAMqw', appId: '1:448746601330:android:1a8056175e1dad5e317beb', messagingSenderId: '448746601330', projectId: 'smart-lock-12b8c', storageBucket: 'smart-lock-12b8c.firebasestorage.app', ); static const FirebaseOptions ios = FirebaseOptions( apiKey: 'AIzaSyACbp5aUKhLU1SMg8iIdm9WmNX7wxI7fVc', appId: '1:281500445726:ios:b194ccffb92fb86cc4d20f', messagingSenderId: '281500445726', projectId: 'skychip2023-ecdff', storageBucket: 'skychip2023-ecdff.firebasestorage.app', iosBundleId: 'com.starlock.lock.local', ); } class FirebaseHelper { factory FirebaseHelper() => _getInstance(); FirebaseHelper._internal(); static FirebaseHelper get instance => _getInstance(); static FirebaseHelper? _instance; static FirebaseHelper _getInstance() { _instance ??= FirebaseHelper._internal(); return _instance!; } Future initApp() async { const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); if (F.isProductionEnv && isProductVmMode && defaultTargetPlatform == TargetPlatform.android) { await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); } } Future initSdk() async { const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); if (F.isProductionEnv && isProductVmMode && defaultTargetPlatform == TargetPlatform.android) { FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true); } } Future login(String userId) async { const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); if (F.isProductionEnv && isProductVmMode && defaultTargetPlatform == TargetPlatform.android) { FirebaseAnalytics.instance.setUserId(id: userId); } } Future trackEvent( String eventName, Map? parameters, ) async { const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); if (F.isProductionEnv && isProductVmMode && defaultTargetPlatform == TargetPlatform.android) { FirebaseAnalytics.instance.logEvent( name: eventName, parameters: parameters, ); } } Future logout() async { const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); if (F.isProductionEnv && isProductVmMode && defaultTargetPlatform == TargetPlatform.android) { FirebaseAnalytics.instance.setUserId(id: ''); } } } //