- dev: jp.co.altive.fat.dev
- stg: jp.co.altive.fat.stg
- prod: jp.co.altive.fat
- Riverpod examples
- Theme selector
Category | Description | Codes |
---|---|---|
FVM | Flutter Version Management | .fvmrc |
Dart | Dart version | pubspec.yaml |
Dart | Lint / Analyze | analysis_options.yaml |
- lib/
- commons/
- features/
- presentation/
- main.dart
Required only --release
mode.
- android/key.properties
- android/app/upload-keystore.jks
The jks file was converted to Base64 and registered as Secret because it is used by Continuous Delivery.
base64 --input upload-keystore.jks | pbcopy
Create JSON files.
{
"hello": "Hello $name",
"save": "Save",
"login": {
"success": "Logged in successfully",
"fail": "Logged in failed"
}
}
Generate Dart files.
dart run slang
Use the generated file.
import '../../../gen/strings.g.dart';
final t = Translations.of(context);
When should it be re-run?
- Add support for new platforms
- Start using new Firebase services and products
# Dev
flutterfire configure --yes \
--project flutter-app-template-dev \
--out lib/environment/src/firebase_options_dev.dart \
--platforms android,ios,macos,web \
--android-package-name jp.co.altive.fat.dev \
--ios-bundle-id jp.co.altive.fat.dev \
--macos-bundle-id jp.co.altive.fat.dev
# Stg
flutterfire configure --yes \
--project flutter-app-template-stg \
--out lib/environment/src/firebase_options_stg.dart \
--platforms android,ios,macos,web \
--android-package-name jp.co.altive.fat.stg \
--ios-bundle-id jp.co.altive.fat.stg \
--macos-bundle-id jp.co.altive.fat.stg
# Prod
flutterfire configure --yes \
--project altive-fat \
--out lib/environment/src/firebase_options_prod.dart \
--platforms android,ios,macos,web \
--android-package-name jp.co.altive.fat \
--ios-bundle-id jp.co.altive.fat \
--macos-bundle-id jp.co.altive.fat
# Start
adb shell setprop debug.firebase.analytics.app jp.co.altive.fat.dev
# Stop
adb shell setprop debug.firebase.analytics.app .none.