If you’re looking to build a mobile application using Flutter and Firebase, you’re in the right place! This guide will walk you through setting up a starter project that utilizes crucial Firebase features, along with additional functionalities that make your development smoother. Let’s dive in!
What Firebase Features Are Included?
- Firebase Authentication: Handles Email-based sign-ups and Google Sign-ins.
- Cloud Firestore: For robust data storage.
- Firebase Messaging: To send notifications to users.
- Firebase Analytics:
- Tracks screen names for analytics.
- Tracks custom events.
- Sets user ID and user properties effectively.
- Firebase Crashlytics: For error tracking.
- Remote Config: To personalize your app.
- Provider State Management: For efficient state management.
- Firebase Storage: To manage user files like images.
Other Features Provided
- Localization support to cater to diverse users.
- Flavors for development and production environments, allowing you to use different Firebase projects based on the flavor.
- Integration of Google Fonts for beautiful typography.
- Image picker and cropper functionalities.
- Device and package info saved in user profiles.
- Flutter Auth buttons for quicker integration.
- User profile management for personalized experiences.
- Android release signing configurations for smooth deployment.
Getting Started
Follow these steps to get your Flutter project up and running with Firebase features:
- Clone this repository to your local machine. The folder structure follows clean code architecture principles.
- Delete the .git folder to clear the git history.
- Use the change_app_package_name package to change the package name to your desired name.
- For iOS, replace all instances of
com.popupbits.firebasestarterwith your new package name using the Find and Replace functionality in your text editor. - Search and replace all instances of
firebasestarter(the Dart/Flutter package name) with your chosen name, adhering to Flutter’s naming standards. - Replace occurrences of
Firebase Starter(the display name) with your custom app name. - Copy the appropriate
google-services.jsonfile intoandroid/app/src/devandandroid/app/src/prod. - Copy
GoogleService-Info.plistfor the dev and prod Firebase projects in their respective iOS directories. - Modify
android/key.propertieswith your signing details. - For Google Sign-In, copy
REVERSED_CLIENT_IDfrom the relevantGoogleService-Info.plistto Xcode’s build settings. - To enable push notifications in iOS, follow the instructions found in the firebase_messaging documentation.
Adding New Locales
Localization is essential for reaching a wider audience. Here’s how to add a new locale:
- Install the localizely plugin in your IDE (either VS Code or Android Studio).
- For VS Code, use the command Flutter Intl: Add locale to add a new locale.
- In Android Studio, navigate to Tools > Flutter Intl and select Add Locale.
- This will generate the necessary .arb file; update it with your key-value pairs.
- Check the documentation of the respective tools for more details.
Troubleshooting
If you encounter issues during the setup or implementation, consider the following troubleshooting tips:
- Verify the configuration files to ensure all paths are correctly set.
- Check your Flutter and Firebase SDK versions for compatibility.
- Make sure the .plist and .json files are accurately placed in their respective directories.
- Look at Firebase logs for any errors related to configuration.
If problems persist, don’t hesitate to seek help from the community or the project contributors. For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

