FIREBASE · GOOGLE CLOUD

Firebase / GCP
项目与密钥配置

App 开发中最常用的 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)

需要支持境外支付的信用卡。

确定项目名称

部分资源 ID 将固定包含该名称。

区域选择(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 等)
  • 即使升级后 FCM / Auth / Firestore 的免费额度仍然保留
04

APP

注册 iOS / Android 应用

为每个平台下载配置文件。

  • iOS: 输入 Bundle 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: 无需额外配置,依赖 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(首尔)
  • 初始模式: 生产(严格) / 测试(开放)— 一律选择生产
  • 必须编写安全规则(Security Rules)
08

ADMIN

服务账户 / Admin SDK 密钥

在服务器使用 Admin SDK 时需要签发服务账户密钥。

  • 项目设置 > 服务账户 > 生成新的私钥
  • 下载 .json 文件(仅显示一次)
  • 绝不提交到 Git · 请使用 .env 或 Secret Manager
  • Vercel 可将整个 JSON 以 base64 存入环境变量,或按字段拆分

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 必须严格保密。

默认安全规则未修改

保留在测试模式(开放)会导致任何人都能读写数据库。请立即切换为生产规则。

区域不可变更

Firestore / Storage 区域在项目创建时决定后无法更改,建议选择首尔。

嫌配置麻烦? 可以全权代办

JAICYLAB 承接的项目,从开发者账号配置到上线与运营全部包含在内。