Skip to main content

第02章:プロジェクト=アプリ?まず“入れ物”の考え方📦🧠

この章のゴールはシンプルです👇 「いま自分がどのプロジェクト(=入れ物)を触ってるか」を迷わず言えるようになること!🧭✨ ここを押さえると、あとで Auth / Firestore / Hosting / AI ぜんぶがスムーズになります🤖🚀


1) まず結論:プロジェクトは「アプリ1個」じゃなくて「入れ物」🧺✨

Project Container

  • プロジェクト=アプリや機能(Auth/DB/Hosting/AIなど)をまとめて抱える“箱”📦
  • その箱の中に、Web / iOS / Androidなどの“個別アプリ(登録)”がぶら下がるイメージです🏷️📱💻
  • そして大事なポイント:Firebaseのプロジェクトは、Google Cloudのプロジェクトでもある(同じ箱を見てる)ということ🤝🌩️ なので、権限(IAM)や課金(Billing)などの基礎は Google Cloudプロジェクト側のルールとも密接につながります。(Firebase)

2) 迷子の原因トップ3:「名前が3つある」問題😵‍💫🧩

Three Project Identifiers

プロジェクトには、似た言葉が3つ出てきます。ここを整理すると一気にラクです😆✨

✅ (A) Project name(表示名)

  • ふつうの人間が読むための名前📝
  • あとから変更OK重複OK(同じ名前でも作れる)(Google Cloud Documentation)

✅ (B) Project ID(最重要🔥)

✅ (C) Project number(番号)

  • 自動で割り当てられる数字のID🔢
  • APIや一部の設定で出てくることがあります🙂(Google Cloud Documentation)

🌟覚え方: 表示名=ラベル🏷️ / ID=住所🏠 / 番号=住民票番号🪪 みたいな感じ!


3) Project ID が“めちゃ重要”な理由:リソース名に混ざるから🧷🪣

Project ID Usage

Project ID は、ただの文字列じゃなくて、いろんなサービスの“名前の一部”になりがちです😳 たとえば Cloud Storage のバケット名などに使われたりします🪣(Firebase)

さらに注意点👇

  • Project ID やリソース名に 個人情報や秘密っぽい文字列を入れないのが安全です🔐(外部に見える場面があるため)(Google Cloud Documentation)

4) dev/prod を分ける理由:事故を“構造で”防ぐ🧯🚧

Dev vs Prod Separation

初心者ほど、最初からここを意識すると勝ちです🏆✨ おすすめは 開発(dev)と本番(prod)は別プロジェクトにすること。理由👇

  • 本番データをうっかり消す😱 を防げる
  • 課金やクォータの増加を切り分けられる💸
  • AI機能の検証(モデル変更・プロンプト調整など)を安全に試せる🤖🧪

公式のベストプラクティスでも、デバッグ用とリリース用でプロジェクト分離が推奨されています🧠(Firebase)


5) 手を動かす:プロジェクト切替→設定まで“最短ルート”🧭🏃‍♂️💨

ここは操作に慣れるだけでOKです🙆‍♂️✨(ブラウザは Edge / Chrome どちらでも👌)

① プロジェクト一覧 → 切り替え

Console Navigation

  1. Firebaseコンソールを開く🌐
  2. 画面上部の プロジェクト選択(ドロップダウン) を押す👇
  3. いま触りたいプロジェクトを選ぶ✅

👉 ミスあるある: 「別プロジェクトを触ってたのに気づかず設定を変える」😇 → 以降、作業前に “いまどのプロジェクト?” を毎回チェックする癖をつけよう👀✨

② 設定画面へ(ID/番号を確認)

  1. 左上の歯車⚙️ → **Project settings(プロジェクト設定)**へ
  2. Project name / Project ID / Project number を見つけてメモ📝
  3. ついでに「Your apps(アプリ一覧)」がある場所も目で覚える🏷️

③ (余裕あれば)Google Cloud側でも同じ箱か確認🌩️

「同じプロジェクトを別角度で見てるだけ」って体感すると、あとで課金や権限が怖くなくなります🙂 Firebaseプロジェクト=Google Cloudプロジェクト、という関係が公式に説明されています🤝(Firebase)


6) 命名ルールを作ろう:一生モノのおすすめパターン📝✨

ミニ課題の前に、よく使う型を置いておきます👇(このまま使ってOK🙆‍♂️)

  • 表示名(Project name)MyApp (dev) / MyApp (prod) みたいに人間が見て分かるやつ😊
  • Project ID(固定・重要)myapp-dev-2026 / myapp-prod-2026 みたいに env を必ず入れるのが超おすすめ🚧 ※Project ID は条件がある(小文字・数字・ハイフン等)のでそれに合わせる🧩(Google Cloud Documentation)

🔥重要:Project ID は作成後に固定、削除しても再利用できないので、勢いで雑につけない!😆⚠️(Google Cloud Documentation)


7) 課金の“入口”もプロジェクト単位💳🚪(軽くだけ)

この章では深入りしないけど、超大事なので一言だけ👇 課金(Cloud Billing)を紐づける/外すのもプロジェクト単位です💸 そして、課金アカウントを外すと 無料枠があるサービスでも使えなくなる場合があるので、「急に動かない!」の原因になりがちです⚠️(Google Cloud Documentation)

さらに最新注意点🔥: 2026/2/3 から Cloud Storage for Firebase のデフォルトバケットは Blaze プランが必要に変わっています(改定)🪣⚡ 「プロジェクト=課金境界」って意味で、ここも“箱の理解”が効いてきます😌(Firebase)


8) AI とプロジェクトの関係:AIこそ“箱”が超大事🤖📦

AI in the Project Box

AI機能(Firebase AI Logic など)も、基本は プロジェクト単位で設定・監視・利用量(クォータ) が管理されます🧠 しかもモデルには **提供終了(retirement)**があるので、devプロジェクトで検証してからprodへ…が安全です🧪🧯(Google Cloud Documentation)

  • Firebase AI Logic は Remote Config でプロンプトやモデル設定を動的に更新できる設計が紹介されています📣🧩(The Firebase Blog)
  • さらに、Firebase CLI には Firebase MCP Server があり、AI支援ツールから Firebase リソース操作(プロジェクト作成やアプリ追加、SDK設定取得など)を助けられる流れが出ています🛠️🤖(The Firebase Blog)

9) AIに聞く例(そのままコピペOK)💬🤖

Gemini チャットに投げる質問例🧠

  • 「Firebaseの“プロジェクト”と“Webアプリ登録”の違いを、初心者向けにたとえ話で説明して」
  • 「Project name / Project ID / Project number の違いを、実例つきで教えて」
  • 「dev/prod を分けると何が嬉しい? 逆に1つにすると何が起きる?」

Gemini CLI(コマンド例)💻

Gemini CLI は gemini コマンドで起動でき、MCP管理コマンドも用意されています🧰(Gemini CLI)

gemini "FirebaseのProject ID命名ルールを、初心者向けに3案出して。dev/prod前提で"
gemini "Project IDは変更できる?削除したら同じIDを再利用できる?公式根拠つきで短く"

(もしMCPを触るなら、CLI側に gemini mcp の入口があります🧩)(Gemini CLI)


10) ミニ課題:自分用「命名ルール」作成📝🎯

Naming Convention

次の4つを、メモ帳に1分で書いて完成です✅

  1. アプリの仮名(例:myapp)
  2. dev の Project ID:myapp-dev-xxxx(xxxxは年とか用途)
  3. prod の Project ID:myapp-prod-xxxx
  4. 表示名(Project name)の表記ルール:MyApp (dev) / MyApp (prod) みたいにする

11) チェック✅(これが言えたら合格🎉)

  • 「プロジェクト=入れ物、アプリ登録=名札🏷️」って説明できる🙂
  • Project name と Project ID の違いが言える(どっちが固定?)🧠(Google Cloud Documentation)
  • 「いまどのプロジェクト触ってる?」に即答できる🧭
  • dev/prod を分ける理由を1つ言える🚧(Firebase)

次の第3章(Consoleの歩き方)に行くと、「設定がどこにあるか」が一気に見えるようになります🔧🚦 もしよければ、あなたのアプリ案(例:メモ、学習、SNSなど)を1行だけ教えてくれたら、命名ルールをそれっぽく整えて提案もできるよ😆✨