FlutterFireアプリ完全セットアップガイド
別アカウント・新規プロジェクト対応版
📘 このガイドについて
このガイドは、FlutterとFirebaseを使用したWebアプリケーションをゼロから構築する完全な手順書です。別のGoogleアカウント、別のFirebaseプロジェクト、別のマシンでも同じ手順で再現できます。
対象: Flutter初心者〜中級者、Firebaseを使ったアプリ開発を学びたい方
1. 事前準備
1.1 必要なアカウント
1.2 システム要件
| 項目 |
最小要件 |
推奨 |
| OS |
Windows 10/11, macOS 10.15+, Linux |
Windows 11, macOS 12+ |
| RAM |
8 GB |
16 GB以上 |
| ディスク空き容量 |
10 GB |
20 GB以上 |
| インターネット接続 |
必須(安定した接続) |
2. 開発環境のセットアップ
2.1 Flutter SDKのインストール
Windows の場合
- Flutter SDKをダウンロード
- インストール先を決定
- 推奨:
C:\flutter
- 注意: Program Files フォルダは避ける(権限の問題)
- ZIPファイルを解凍
- 環境変数PATHに追加
- 「システムのプロパティ」→「環境変数」を開く
- 「Path」を編集
C:\flutter\bin を追加
- インストール確認
flutter doctor
macOS の場合
- Flutter SDKをダウンロード
cd ~
curl -O https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_stable.zip
unzip flutter_macos_arm64_stable.zip
- PATHに追加
echo 'export PATH="$PATH:$HOME/flutter/bin"' >> ~/.zshrc
source ~/.zshrc
- インストール確認
flutter doctor
✅ チェックポイント
flutter doctor を実行して、以下が表示されることを確認:
- Flutter (Channel stable, バージョン番号)
- 少なくとも1つのプラットフォームが利用可能(Web推奨)
2.2 Node.jsとnpmのインストール
- Node.jsをダウンロード
- インストーラーを実行
- インストール確認
node --version
npm --version
2.3 Firebase CLIのインストール
- Firebase CLIをインストール
npm install -g firebase-tools
- インストール確認
firebase --version
- Firebaseにログイン
firebase login
- ブラウザが開くので、Googleアカウントでログイン
- 権限の許可を求められたら「許可」をクリック
✅ チェックポイント
firebase login:list を実行して、ログイン中のアカウントが表示されることを確認
2.4 FlutterFire CLIのインストール
- FlutterFire CLIをインストール
dart pub global activate flutterfire_cli
- PATHの確認
- Windows:
%LOCALAPPDATA%\Pub\Cache\bin がPATHに含まれているか確認
- macOS/Linux:
~/.pub-cache/bin がPATHに含まれているか確認
3. Firebaseプロジェクトの作成
3.1 Firebaseコンソールでプロジェクトを作成
- Firebaseコンソールを開く
- 「プロジェクトを追加」をクリック
- プロジェクト名を入力
- 例:
my-rehab-app
- 注意: プロジェクトIDは自動生成されます(例: my-rehab-app-abc123)
- Google Analyticsの設定
- オプション: 後で有効化することも可能
- 推奨: 無効のまま進む(シンプルな設定のため)
- 「プロジェクトを作成」をクリック
3.2 Firebase Authentication の有効化
- Firebaseコンソール → Authentication
- 「始める」をクリック
- 「Sign-in method」タブをクリック
- 「メール/パスワード」を選択
- 「有効にする」トグルをONにする
- 「保存」をクリック
3.3 Cloud Firestoreの有効化
- Firebaseコンソール → Firestore Database
- 「データベースの作成」をクリック
- セキュリティルールを選択
- テストモード: すべてのアクセスを30日間許可(開発用)
- 本番モード: すべてのアクセスを拒否(推奨、後でルールを設定)
- 推奨: 本番モードを選択
- ロケーションを選択
- 推奨:
asia-northeast1 (東京)
- 注意: 一度選択したら変更不可
- 「有効にする」をクリック
3.4 Firebase Storage の有効化(オプション)
- Firebaseコンソール → Storage
- 「始める」をクリック
- セキュリティルールを確認
- ロケーションを確認
- 「完了」をクリック
✅ チェックポイント
Firebaseコンソールで以下が有効になっていることを確認:
- ✅ Authentication(メール/パスワード)
- ✅ Firestore Database
- ✅ Storage(オプション)
4. Flutterプロジェクトの作成
4.1 プロジェクトディレクトリの作成
- 作業ディレクトリに移動
# Windows の例
cd C:\Users\YourName\work
# macOS/Linux の例
cd ~/work
- Flutterプロジェクトを作成
flutter create my_app
my_app は任意のプロジェクト名に変更可能
- 注意: アンダースコア区切り、小文字のみ使用
- プロジェクトディレクトリに移動
cd my_app
4.2 pubspec.yaml の編集
- pubspec.yaml を開く
- VSCode、Android Studio、またはテキストエディタで開く
- dependencies セクションに追加
dependencies:
flutter:
sdk: flutter
# Firebase
firebase_core: ^3.0.0
firebase_auth: ^5.0.0
cloud_firestore: ^5.0.0
# UI
cupertino_icons: ^1.0.2
- パッケージをインストール
flutter pub get
⚠️ 注意: バージョン番号
上記のバージョン番号は例です。最新版を使用する場合は、pub.dev で確認してください。
5. FlutterFire設定
5.1 FlutterFire Configure の実行
- FlutterFire CLI を実行
flutterfire configure
- Firebaseプロジェクトを選択
- 矢印キーで作成したプロジェクトを選択
- Enterキーで確定
- プラットフォームを選択
- スペースキーで選択(複数選択可)
- 推奨:
web を選択
- モバイルアプリも開発する場合:
android, ios も選択
- Enterキーで確定
- パッケージ名の入力(Android/iOS を選択した場合)
- Android:
com.yourcompany.yourapp
- iOS: 同じBundle IDを使用
✅ チェックポイント
以下のファイルが生成されたことを確認:
- ✅
lib/firebase_options.dart
このファイルには、Firebase設定情報(APIキー、プロジェクトIDなど)が含まれています。
5.2 Web サポートの追加(まだ追加していない場合)
flutter create . --platforms=web
- 既存のプロジェクトに Web サポートを追加
web/ ディレクトリが作成されます
6. アプリケーション開発
6.1 main.dart の作成
lib/main.dart を以下の内容で編集:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
void main() async {
// Flutter の初期化を確実にする
WidgetsFlutterBinding.ensureInitialized();
// Firebase の初期化
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My Rehab App',
theme: ThemeData(
primarySwatch: Colors.blue,
useMaterial3: true,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('My Rehab App'),
),
body: const Center(
child: Text(
'Welcome to My Rehab App!',
style: TextStyle(fontSize: 24),
),
),
);
}
}
6.2 認証画面の作成(基本)
lib/screens/auth_screen.dart を作成し、認証機能を実装します。詳細は、既存のプロジェクトの auth_screen.dart を参考にしてください。
7. セキュリティルールの設定
7.1 Firestore セキュリティルールの作成
- firebase ディレクトリを作成
mkdir firebase
- firestore.rules ファイルを作成
firebase/firestore.rules に以下を記述:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// 認証済みユーザーのみアクセス可能
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
7.2 Firebase プロジェクトの初期化
- Firebase プロジェクトを初期化
firebase init
- 使用する機能を選択
Firestore を選択(スペースキーで選択)
Hosting を選択
- Enterキーで確定
- 既存のプロジェクトを選択
- Firestoreの設定
- Rules file:
firebase/firestore.rules (既にある場合はそのまま)
- Indexes file: デフォルトのまま
- Hostingの設定
- Public directory:
build/web
- Configure as SPA:
Yes
- Set up automatic builds:
No
8. ビルドとデプロイ
8.1 ローカルでテスト実行
- アプリを起動
flutter run -d chrome
- Chromeブラウザでアプリが開きます
- ホットリロード対応(コード変更が自動反映)
- 動作確認
- 画面が正常に表示されるか確認
- F12 で開発者ツールを開いてエラーがないか確認
8.2 本番用ビルド
- Webアプリをビルド
flutter build web
build/web ディレクトリに本番用ファイルが生成されます
- ビルドには数分かかる場合があります
8.3 Firebaseにデプロイ
- Firestoreルールをデプロイ
firebase deploy --only firestore:rules
- Hostingにデプロイ
firebase deploy --only hosting
- デプロイ完了後、URLが表示されます
- 例:
https://your-project-id.web.app
✅ チェックポイント
デプロイ完了後、表示されたURLにアクセスして、アプリが正常に動作することを確認
9. 動作確認
9.1 基本動作の確認
- URLにアクセス
- 画面表示の確認
- ホーム画面が正常に表示されるか
- レイアウトが崩れていないか
- 認証機能のテスト
- 新規ユーザー登録を試す
- ログイン・ログアウトを試す
9.2 Firebaseコンソールでの確認
- Authentication
- Firestore Database
10. トラブルシューティング
よくある問題と解決方法
問題1: flutter: command not found
原因: Flutterのパスが通っていない
解決方法:
- 環境変数PATHに
flutter/bin を追加
- ターミナルを再起動
問題2: Firebase login できない
原因: Googleアカウントの認証が失敗している
解決方法:
firebase logout を実行
firebase login を再実行
- 別のブラウザで試す
問題3: Permission denied エラー
原因: Firestoreセキュリティルールが厳しすぎる
解決方法:
- セキュリティルールを確認
- テストモードで試す(開発時のみ)
- ルールをデプロイ:
firebase deploy --only firestore:rules
FlutterFireアプリ完全セットアップガイド
作成日: 2025年12月7日 | バージョン: 1.0
© 2025 - このガイドは自由に再利用・改変できます