name: "integrating-firebase" description: "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." metadata: last_modified: "2026-04-01 14:35:00 (GMT+8)"
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:
2. Authentication (firebase_auth)
If you are implementing login, email/password verification, social sign-ins (Google, Apple), or managing User sessions, you MUST read:
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:
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:
5. File Storage (firebase_storage)
If you are uploading images/videos, generating download URLs, or restructuring storage Reference trees, you MUST read:
6. Observability (firebase_analytics, firebase_crashlytics)
If you are logging custom analytical events, setting up global FlutterError and PlatformDispatcher error trapping, you MUST read:
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:
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:
9. Pricing & Cost Optimization If you are designing the database schema or querying massive datasets, to prevent uncontrolled Firebase billing costs, you MUST read:
Constraints
- Never hardcode configurations: All Firebase configs MUST be generated by the
flutterfire_cli. - Review the Cost chapter: Before designing any Firestore schema, review
cost.mdto avoid queries that lead to billing disasters.