flutterfire_cli
flutterfire_cli copied to clipboard
request: Add documentation how to use FlutterFire packages the old way without this tool
Is there an existing feature request for this?
- [X] I have searched the existing issues.
Command
No response
Description
Please add documentation how to continue using FlutterFire without this tool i.e. the old way. There are several unclear items like do I need to put something to .gradle files in this case.
Reasoning
I don't want to use this tool in my project. There were not any issues in the old way of downloading manually the required config files from Firebase and updating the files when needed (which is very rarely actually). This tool only adds complexity to my project and I will consider it also as a security risk.
Detected problems:
-
The new generated files
firebase_options.dart
andfirebase_app_id_file.json
are not useful at least in Android / iOS projects. The same information is already available in the filesgoogle-services.json
(Android) andGoogleService-Info.plist
(iOS) which you cannot remove anyway, because at least Crashlytics and the plugingoogle_sign_in
require them. I would bet at least 95% of the Flutter/Firebase apps use both Crashlytics and the plugingoogle_sign_in
. -
Flavors are not supported and maintaining existing flavor implementation gets even more complex (due to the new required file
firebase_app_id_file.json
in the fixed location). -
It is much more clear and easier to maintain the project if the required information is in one place / platfrom i.e.
google-services.json
(Android) andGoogleService-Info.plist
(iOS) and the application is initialized withawait Firebase.initializeApp()
without any parameters. -
The tool seems to create applications to Firebase without even confirming it from the user. This already happened to me when I tried the tool for the first time (the tool did not recognize the correct package id / bundle id from my project so it decided to add new applications to Firebase without any questions). Luckily it was only my Development project in Firebase. I don't want this kind of tool connecting to my production project in Firebase, not even with read access. That's why I say this tool is currently a security risk as the tool can even modify my Firebase projects. It is also unclear what it exactly does and when, and all this can be changed at any time when you update the tool.
Additional context and comments
Maybe the tool is useful for new developers trying Flutter/Firebase and to get started quickly, but for real-world production apps the tool it is currently only a new problem and a security risk.
I could consider using this tool again if you:
- Totally remove need for
google-services.json
andGoogleService-Info.plist
, but I am not sure if it is technically possible. - Allow using the tool in read-only mode (quaranteed that it does not modify any Firebase projects), or even offline.