# Integrating Firebase

> Firebase integration for Flutter including Auth, Firestore, FCM, Cloud Storage, Analytics, and Crashlytics. Use when implementing serverless backend features, real-time sync, or push notifications.

- Skill: `poorgramer-zack/integrating-firebase` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add poorgramer-zack/integrating-firebase`
- Raw SKILL.md: https://api.skillmd.com/api/skills/poorgramer-zack/integrating-firebase/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: Poorgramer-Zack (https://skillmd.com/u/poorgramer-zack)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/poorgramer-zack/integrating-firebase

---


# Flutter with Firebase Integration Guide

## Goal
Production architecture for integrating Google Firebase with Flutter. This skill points to specific implementation chapters — read the relevant one before writing any Firebase code.

## Workflow & References

**1. Core Setup & Initialization (`firebase_core`)**
If you are initializing Firebase for the first time, setting up the `flutterfire_cli`, or resolving native iOS/Android Firebase compilation errors, you **MUST** read:
*   [`setup.md`](./references/setup.md)

**2. Authentication (`firebase_auth`)**
If you are implementing login, email/password verification, social sign-ins (Google, Apple), or managing `User` sessions, you **MUST** read:
*   [`auth.md`](./references/auth.md)

**3. Push Notifications (`firebase_messaging`)**
If you are configuring Apple Push Notification service (APNs), handling FCM background handlers, or requesting notification permissions, you **MUST** read:
*   [`messaging.md`](./references/messaging.md)

**4. Databases (`cloud_firestore`, `firebase_database`)**
If you are reading/writing data, defining Freezed models, or navigating NoSQL document structures (Firestore) vs JSON trees (RTDB), you **MUST** read:
*   [`database.md`](./references/database.md)

**5. File Storage (`firebase_storage`)**
If you are uploading images/videos, generating download URLs, or restructuring storage `Reference` trees, you **MUST** read:
*   [`storage.md`](./references/storage.md)

**6. Observability (`firebase_analytics`, `firebase_crashlytics`)**
If you are logging custom analytical events, setting up global `FlutterError` and `PlatformDispatcher` error trapping, you **MUST** read:
*   [`analytics-crashlytics.md`](./references/analytics-crashlytics.md)

**7. Security (`firebase_app_check`)**
If you want to protect your Firebase backend from unauthorized access using DeviceCheck (iOS) and Play Integrity (Android), you **MUST** read:
*   [`app-check.md`](./references/app-check.md)

**8. Advanced Architecture: Serverpod Mini BFF**
If you are building a highly secure app and need to bypass Firestore Rules or protect third-party API keys (like Stripe) using a Backend-for-Frontend (BFF), you **MUST** read:
*   [`serverpod-mini.md`](./references/serverpod-mini.md)

**9. Pricing & Cost Optimization**
If you are designing the database schema or querying massive datasets, to prevent uncontrolled Firebase billing costs, you **MUST** read:
*   [`cost.md`](./references/cost.md)

## Constraints
1. **Never hardcode configurations:** All Firebase configs MUST be generated by the `flutterfire_cli`.
2. **Review the Cost chapter:** Before designing any Firestore schema, review [`cost.md`](./references/cost.md) to avoid queries that lead to billing disasters.

