Open2

Firebase環境分け

マイタニマイタニ
  1. Firebaseでプロジェクトを作成する。この時IDを指定できる。
  2. 以下のコマンドでFirebaseへの登録とファイルの作成ができる。できたファイルは環境ごとのフォルダを作成して、そこに配置する。
flutterfire configure --project=sample-maitani --out=lib/firebase_options_prod.dart --platforms=android,ios --ios-bundle-id=com.maitani.sample --android-package-name=com.maitani.sample

参考

https://zenn.dev/susatthi/articles/20220904-151314-flutter-fire-flavor
https://zenn.dev/altiveinc/articles/separating-environments-in-flutter
https://github.com/altive/flutter_app_template/tree/main

マイタニマイタニ

Firebase初期化

enviromet/firebase_options.dart
import 'package:firebase_core/firebase_core.dart';

import 'firebase_options_dev.dart' as dev;
import 'firebase_options_prod.dart' as prod;
import 'firebase_options_stg.dart' as stg;

enum Flavor {
  /// Development.
  dev,

  /// Staging.
  stg,

  /// Production.
  prod,
}

FirebaseOptions firebaseOptionsWithFlavor(Flavor flavor) {
  switch (flavor) {
    case Flavor.dev:
      return dev.DefaultFirebaseOptions.currentPlatform;
    case Flavor.stg:
      return stg.DefaultFirebaseOptions.currentPlatform;
    case Flavor.prod:
      return prod.DefaultFirebaseOptions.currentPlatform;
  }
}
main.dart
final flavor = Flavor.values.byName(const String.fromEnvironment('flavor'));
await Firebase.initializeApp(options: firebaseOptionsWithFlavor(flavor));

参考

https://github.com/altive/flutter_app_template/tree/main/packages/flutter_app/lib/environment