Android product flavors (.dev/.staging suffixes, prod clean) + per-flavor
Dart entrypoints, dart-define env files, and per-flavor Firebase config for
both platforms across 3 projects (halobestie-clone-dev / my-bestie-876ec /
my-bestie-production).
- Android: flavorDimensions("env") + productFlavors; @string/app_name label;
per-flavor src/<flavor>/google-services.json (clients verified to match each
applicationId).
- iOS: customer app re-based to the EXISTING App Store identity
com.asc.hallobestie (dev/staging suffix it; ships as an update to the live
app). mitra is a new app (com.mybestie.mitra). Per-flavor plists staged in
ios/config/<flavor>/; Xcode scheme wiring deferred (Mac follow-up).
- firebase_options_{dev,staging,prod}.dart filled with real android + iOS
values (regenerated from the native config files).
- BUILD_FLAVORS.md per app documents flavor table, build commands, iOS
identity decision, and the remaining iOS Xcode steps.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
61 lines
2.3 KiB
Dart
61 lines
2.3 KiB
Dart
// File generated by FlutterFire CLI (regenerated from the registered
|
|
// dev Firebase apps — project halobestie-clone-dev).
|
|
// ignore_for_file: type=lint
|
|
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
|
|
import 'package:flutter/foundation.dart'
|
|
show defaultTargetPlatform, kIsWeb, TargetPlatform;
|
|
|
|
/// [FirebaseOptions] for the DEV environment (project halobestie-clone-dev).
|
|
class DevFirebaseOptions {
|
|
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:
|
|
return android;
|
|
case TargetPlatform.iOS:
|
|
return ios;
|
|
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.',
|
|
);
|
|
}
|
|
}
|
|
|
|
static const FirebaseOptions android = FirebaseOptions(
|
|
apiKey: 'AIzaSyDFWlLSWytqwI7LSdUbVrO7J5De9L2LV2U',
|
|
appId: '1:1068156046511:android:1f589ed358ccdad0b8185a',
|
|
messagingSenderId: '1068156046511',
|
|
projectId: 'halobestie-clone-dev',
|
|
storageBucket: 'halobestie-clone-dev.firebasestorage.app',
|
|
);
|
|
|
|
static const FirebaseOptions ios = FirebaseOptions(
|
|
apiKey: 'AIzaSyAQnB5hbj0T5tE4JQZQ9Tx6Whp_u15obMI',
|
|
appId: '1:1068156046511:ios:bc9098ffc2c2913ab8185a',
|
|
messagingSenderId: '1068156046511',
|
|
projectId: 'halobestie-clone-dev',
|
|
storageBucket: 'halobestie-clone-dev.firebasestorage.app',
|
|
iosBundleId: 'com.asc.hallobestie.dev',
|
|
);
|
|
}
|