67 lines
3.1 KiB
Dart
67 lines
3.1 KiB
Dart
// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members
|
|
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
|
|
import 'package:flutter/foundation.dart'
|
|
show defaultTargetPlatform, kIsWeb, TargetPlatform;
|
|
import 'package:flutter_app/bootstrap/app_helper.dart';
|
|
|
|
/// Default [FirebaseOptions] for use with your Firebase apps.
|
|
class DefaultFirebaseOptions {
|
|
static FirebaseOptions get currentPlatform {
|
|
if (kIsWeb) {
|
|
throw UnsupportedError(
|
|
'DefaultFirebaseOptions have not been configured for web - '
|
|
'you can reconfigure this by running the FlutterFire CLI again.',
|
|
);
|
|
}
|
|
switch (defaultTargetPlatform) {
|
|
case TargetPlatform.android:
|
|
if (AppHelper.instance.appConfig?.firebaseOptionsAndroid == null) {
|
|
throw UnsupportedError(
|
|
'Add a valid Firebase json config on https://woosignal.com for your WooCommerce store',
|
|
);
|
|
}
|
|
return FirebaseOptions(
|
|
apiKey: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['apiKey'],
|
|
appId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['appId'],
|
|
messagingSenderId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['messagingSenderId'],
|
|
projectId: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['projectId'],
|
|
storageBucket: AppHelper.instance.appConfig!.firebaseOptionsAndroid!['storageBucket'],
|
|
);
|
|
case TargetPlatform.iOS:
|
|
if (AppHelper.instance.appConfig?.firebaseOptionsIos == null) {
|
|
throw UnsupportedError(
|
|
'Add a valid Firebase plist config on https://woosignal.com for your WooCommerce store',
|
|
);
|
|
}
|
|
return FirebaseOptions(
|
|
apiKey: AppHelper.instance.appConfig!.firebaseOptionsIos!['apiKey'],
|
|
appId: AppHelper.instance.appConfig!.firebaseOptionsIos!['appId'],
|
|
messagingSenderId: AppHelper.instance.appConfig!.firebaseOptionsIos!['messagingSenderId'],
|
|
projectId: AppHelper.instance.appConfig!.firebaseOptionsIos!['projectId'],
|
|
storageBucket: AppHelper.instance.appConfig!.firebaseOptionsIos!['storageBucket'],
|
|
iosClientId: AppHelper.instance.appConfig!.firebaseOptionsIos!['iosClientId'],
|
|
iosBundleId: AppHelper.instance.appConfig!.firebaseOptionsIos!['iosBundleId'],
|
|
);
|
|
case TargetPlatform.macOS:
|
|
throw UnsupportedError(
|
|
'DefaultFirebaseOptions have not been configured for macos - '
|
|
'you can reconfigure this by running the FlutterFire CLI again.',
|
|
);
|
|
case TargetPlatform.windows:
|
|
throw UnsupportedError(
|
|
'DefaultFirebaseOptions have not been configured for windows - '
|
|
'you can reconfigure this by running the FlutterFire CLI again.',
|
|
);
|
|
case TargetPlatform.linux:
|
|
throw UnsupportedError(
|
|
'DefaultFirebaseOptions have not been configured for linux - '
|
|
'you can reconfigure this by running the FlutterFire CLI again.',
|
|
);
|
|
default:
|
|
throw UnsupportedError(
|
|
'DefaultFirebaseOptions are not supported for this platform.',
|
|
);
|
|
}
|
|
}
|
|
}
|