I use Analytics for Firebase, Firebase Cloud Messaging, and Firebase Crashlytics. I have also used Firebase Performance.
Google Analytics for Firebase is the best feature of the solution. Generally, for analytics, I must integrate GA4 for the web. Since Firebase supports analytics, I can now analyze on the same dashboard using Google Analytics. It is very useful for me. The notification services, Google Analytics, and Crashlytics are easy to use.
The notifications must be made a little bit better. Firebase Cloud Messaging doesn’t support non-dismissable notifications. I encountered some difficulties migrating the code from Firebase Cloud Storage to another DB.
I have been using the solution for three years and two months.
The product had bugs. I haven't found any bugs for the past one and a half years. There are conflicts with the Flutter text package while migrating to the latest Firebase version. It would be better if the problem were resolved.
The product is much more scalable compared to other solutions. I know 12 people in the organization who use the solution. Eight know the tool well and use it in different company projects.
I contacted support when I started using the solution. Now, I don’t need any support. The documentation is understandable.
The initial installation was easier after FlutterFire CLI was created. It was very useful to integrate the product. Before FlutterFire CLI, it was a little bit harder to integrate the tool into iOS.
The tool is affordable. The cost is a bit high compared to REST API. Some clients prefer REST API over Firebase.
I have deployed one project in the cloud. I have used some services of the solution for other use cases. The services similar to notification services, Google Analytics, and Crashlytics are not easy to use in other tools. I will recommend the solution if someone wants to use the notification services, Messaging, Analytics, and Crashlytics. However, I will not suggest if someone wants to use Firebase Cloud Storage.
The solution is difficult to learn if someone is just starting their career. If we get a little bit of guidance from a senior, it will be very easy. I number the patchwork for app versioning and deployment just like Android versioning. The first digit will be for batches from right to left, the second for major updates, and the third for a complete app version change. I increase the number by one for every build, patch it, and publish it. I use the same logic if I am deploying in Firebase.
Most of the applications I have worked on are e-commerce-based applications. The main requirement for clients in such applications is conversion rate. When a user interacts with a particular product, the client wants to know whether the user purchased the product or not. They want to know where the users lost interest and went away without making the payment. Google Analytics helped me fix such issues much better than any other product. I'm very happy with it.
Sometimes, I couldn't figure out how to fix issues when working on iOS. Suppose I’m just upgrading Firebase through workspace.yaml, sometimes, I may need to check whether the native version is supported. I will have to go through the documentation again. It will be much better if it is fixed by changing the version in workspace.yaml. Everything else works well.
Overall, I rate the solution an eight out of ten.