用途:为 Ionic Capacitor 应用接入 Firebase 后端,Auth 负责注册/登录(含社交登录),Firestore 负责持久化数据、实时同步与离线支持。
主要能力与文档结构:项目搭建与原生配置文件(google-services.json、GoogleService-Info.plist)见 setup.md;认证(邮箱、Google、Apple、魔法链接)见 auth.md;Firestore(读写、实时、离线)见 firestore.md;各框架集成片段见 framework-snippets.md。
库选型:Firebase JS SDK(firebase npm 包)适合 Web 优先、简单场景、Web/移动一致,可在浏览器、iOS WKWebView、Android WebView 运行,但原生上认证弹窗可能较麻烦;Capacitor Firebase 插件(@capacitor-firebase/*)提供原生认证对话框(Google 原生登录)、原生 SDK 离线 Firestore、原生 FCM 推送,配置更多但体验更好。建议 v1 先用 JS SDK,遇到原生体验缺口(尤其 Android 上 Google 登录)再迁移到插件。
安装:npm install firebase;或原生插件:npm install @capacitor-firebase/app @capacitor-firebase/authentication @capacitor-firebase/firestore,然后 npx cap sync。
硬性规则:绝不在应用内放 Firebase Admin SDK 代码(仅服务端,使用全权限服务账号);Firebase Web 配置(apiKey、projectId 等)可安全发布,由安全规则把关;上线前必须编写 Firestore 安全规则,默认测试模式规则 30 天后过期并变为拒绝全部;新项目不要用 Realtime Database,除非有特定理由;不要指望无索引集合查询可扩展,复合过滤需要复合索引。
配套:FCM 推送复用同一原生配置文件,推送处理由 @capacitor/push-notifications 独立完成;魔法链接登录需要 Universal Link/App Link,Firebase Dynamic Links 已关停,需自建深链;Sign in with Apple 通过 @capacitor-firebase/authentication 集成,不要再装 @capacitor-community/apple-sign-in。