Skip to content

A Flutter demo app to interact with various Firebase services

License

Notifications You must be signed in to change notification settings

xeladu/flutter_firebase

Repository files navigation

The Flutter Firebase Compendium Demo Application

The Flutter Firebase Compendium

This is the companion app of the Flutter Firebase Compendium with code examples.

The Flutter Firebase Compendium is a detailled introduction for Flutter developers to work with Firebase. It explains how to use Firebase services from a Flutter application. Check out my ebook with many details that will save you many hours of research time to develop your apps quicker. You can learn more about it here.

Content

How to run the code

The code uses Firebase as a backend but the Firebase configuration is not included. You have to add it yourself because there are paid features that might cause costs. Refer to this article above on how to perform the necessary steps in detail.

  1. Create a Firebase project
  2. Install Firebase CLI
  3. Install FlutterFire CLI
  4. Check out the code
  5. Execute firebase login from the app root folder and log into your created Firebase project
  6. Execute flutterfire configure from the app root folder and use your created Firebase project
  7. A file firebase_options.dart will be created in your lib folder
  8. (Authentication only) Activate the sign-in providers Email/Password and Google
  9. (Cloud Functions only) Execute firebase deploy --only functions to deploy the demo functions. You might need to run npm install from inside the functions folder to make it work. You need to adapt the link in functions_page.dart according to your Firebase instance.
  10. (Storage and Cloud Firestore only) Set security rules for Storage and Firestore
  11. (App Check only) Register an attestation provider and enforce App Check
  12. (Remote Config only) Create parameters with conditions for Remote Config
  13. Run the app

Hints

  • 💡 Social sign-ins only works on web platform without additional configurations
  • 💡 You need to replace the link on functions_page.dart according to your deployed function link!
  • 💡 Don't forget to set the security rules for Storage and Firestore!
  • 💡 To get file downloads from Firebase Storage work on the web platform, you need to set specific CORS rules!
  • 💡 SafetyNet deprecated, supported until June 2024!
  • 💡 Play Integrity provider for Android only works for apps that are distributed via Google Play!

Platforms

Overview of supported platforms of the used Firebase packages.

✔ - supported ❌ - not supported

Android iOS Web MacOS Windows Linux
Authentication
Firestore
Functions
Storage
App Check
Remote Config
Crashlytics

About me