FIREBASE · GOOGLE CLOUD

Firebase / GCP
プロジェクト&キー設定

アプリ開発で最もよく使われる Firebase(FCM プッシュ・Auth・Firestore・Analytics)と Google Cloud プロジェクトの初期設定ガイドです。 支払いプロファイルの連携から iOS / Android SDK キーまでまとめて整理します。

登録費用

無料(Spark)

有料移行

必要に応じて Blaze

必要情報

Google アカウント・カード

Overview

始める前に確認してください

Firebase は Google Cloud プロジェクト上で動く製品群です。Spark(無料)プランから始め、Cloud Functions や Storage の利用量が増えたら Blaze(従量課金)へのアップグレードが必要になります。FCM プッシュ自体は Spark でも無制限で無料です。

Google アカウント + 2FA

組織 Workspace アカウントを推奨します。

支払い方法(Blaze)

海外決済対応カードが必要です。

プロジェクト名の決定

一部リソースに固定で含まれます。

リージョン(Asia-Northeast3)

韓国向けはソウルリージョン。

Step by Step

ステップ別ガイド

01

PROJECT

Google Cloud プロジェクトの作成

Firebase は内部的に GCP プロジェクトを作成します。

  • console.cloud.google.com にアクセス
  • 新しいプロジェクトを作成(Project ID はグローバルで一意)
  • 組織なし、または組織を選択
  • Firebase コンソールでも自動的に連携されます
02

FIREBASE

Firebase プロジェクトの追加

既存の GCP プロジェクトに Firebase 機能を有効化します。

  • console.firebase.google.com > プロジェクトを追加
  • 既存の GCP プロジェクトを選択
  • Google Analytics 利用有無を選択(推奨:利用)
  • Analytics アカウントを連携(新規または既存)
03

BILLING

プラン変更(必要時)

外部 API 呼び出しと Storage 利用には Blaze が必要です。

  • プラン > アップグレード > Blaze 従量課金
  • 請求先アカウントを連携(カード登録)
  • 予算アラート設定(月 $10・$50・$100 など)
  • Spark でも FCM / Auth / Firestore の無料枠は維持されます
04

APP

iOS / Android アプリ登録

各プラットフォーム用の設定ファイルをダウンロードします。

  • iOS: バンドル ID を入力 → GoogleService-Info.plist をダウンロード
  • Android: パッケージ名 + SHA-1(keystore)→ google-services.json をダウンロード
  • Web: アプリ名を入力 → firebaseConfig スクリプトをコピー
  • 設定ファイルはプロジェクトルート / Android app/ に配置
05

PUSH

FCM プッシュ設定

プッシュ通知は FCM(Firebase Cloud Messaging)で無料です。

  • iOS: APNs 認証キー(.p8)をアップロード — Apple Developer アカウントが必要
  • Key ID と Team ID も併せて入力
  • Android: FCM は google-services.json だけで動作します
  • サーバーキーは Cloud Messaging 設定で確認
06

AUTH

Authentication 有効化

ログイン方法を有効化します。

  • メール/パスワード・Google・Apple・Facebook・電話番号など
  • 各プロバイダーごとに OAuth 設定が必要(Apple は Apple Developer で Service ID を発行)
  • 承認済みドメインを登録(ローカルテストでは localhost は自動で含まれます)
  • デフォルトのセキュリティルールを確認
07

DATABASE

Firestore / Realtime DB

データストアを選択して作成します。

  • Firestore: ドキュメントベース、ほとんどのサービスに推奨
  • Realtime Database: リアルタイム同期が中心の場合
  • リージョン: asia-northeast3(ソウル)を推奨
  • 開始モード: 本番(厳格) / テスト(公開) — 必ず本番を選択
  • セキュリティルールの記述は必須
08

ADMIN

サービスアカウント / Admin SDK キー

サーバーで Admin SDK を使う場合はサービスアカウントキーを発行します。

  • プロジェクト設定 > サービスアカウント > 新しい秘密鍵を生成
  • .json ファイルをダウンロード(表示は一度だけ)
  • Git へのコミット厳禁 · .env または Secret Manager を使用
  • Vercel では JSON 全体を base64 で env に保存、もしくはフィールド単位に分割

Pitfalls

詰まりやすいポイント

Spark → Blaze への強制移行

Cloud Functions のデプロイや外部 API 呼び出しには Blaze が必須です。カード未登録ではデプロイが失敗します。

APNs キー未登録で iOS プッシュ失敗

iOS の FCM は APNs(Apple Push Notification)トークンを FCM トークンに変換して使います。先に Apple Developer で APNs 認証キー(.p8)を発行してください。

google-services.json の取り扱い

ファイル自体は公開可能ですが Android SHA-1 を含むため関連情報と一緒に管理されます。一方、サービスアカウント JSON は絶対に公開しないでください。

セキュリティルールを放置

テストモード(公開)のままだと誰でも DB を閲覧できます。すぐに本番ルールへ切り替えてください。

リージョンは変更不可

Firestore / Storage のリージョンはプロジェクト作成時に一度決めたら変更できません。ソウルリージョンを推奨します。

登録が面倒なら 代行します

JAICYLABのプロジェクトには開発者アカウントの準備から公開・運用まで一貫して含まれます。