Key Takeaways
Firebase is a Backend-as-a-Service (BaaS) platform that provides ready-made tools for application development. Firebase saves developers from having to build server infrastructure from scratch — analytics, databases, authentication, push notifications and much more are available out of the box via the SDK.
Google acquired Firebase in 2014 for $100 million and integrated it with Google Cloud Platform. Firebase offers over 20 products that can be combined depending on project needs. Most services have a generous free tier (Spark Plan), and a pay-as-you-go paid plan (Blaze Plan) is available for growth.
Integrating Firebase starts with creating a project in the Firebase Console and adding a configuration file (GoogleService-Info.plist for iOS, google-services.json for Android). Firebase supports iOS, Android, Flutter, React Native, Unity and web applications, making it a universal solution for any platform.
Firebase Analytics is a free analytics tool that collects data about user behavior. Firebase Analytics is the core of the entire platform — analytics data is used by all other Firebase services for targeting and personalization.
Firebase Crashlytics is the most popular tool for tracking app crashes. Crashlytics automatically collects stack traces, logs, and device data whenever an app crashes. Reports are grouped by error type, allowing you to quickly identify the most critical issues.
Crashlytics supports custom logs, keys, and non-fatal exceptions. Non-fatal exceptions allow you to track handled errors without crashing the app — for example, a failed API request or an exception in business logic.
Firebase Performance is a tool for monitoring app performance. Performance tracks startup time, network latency, screen rendering, and HTTP requests. It identifies bottlenecks that slow down the app and degrade the user experience.
Integrating Firebase Analytics with Crashlytics provides a unique ability to see not only what crashed, but also what user actions preceded the crash. IT Sectr uses this combination for rapid bug diagnosis in production — time from detection to fix is reduced by 3–4 times.
Firebase offers two NoSQL databases and cloud storage for files. The choice between Firestore and Realtime Database depends on the use case — both databases sync data in real time but have different architectures.
| Characteristic | Cloud Firestore | Realtime Database |
|---|---|---|
| Data model | Collections and documents (JSON objects) | Single large JSON tree |
| Queries | Composite, indexes, sorting, filtering | Simple, sorting from a single node |
| Scaling | Automatic, multi-region | Single region, bandwidth limits |
| Pricing | Volume of reads/writes/deletes | Volume of traffic and storage |
| Offline mode | Supported (disk cache) | Supported (in-memory cache) |
| Best use | Chats, social networks, complex queries | Chats, games, simple synchronization |
Cloud Storage is a file storage (images, video, audio). Firebase Storage automatically scales to petabytes and provides reliable upload with resume on connection interruption. It integrates with Firebase Auth for secure access.
Firestore is recommended for new projects due to its flexible queries and scalability. Realtime Database remains a good choice for simple chats and games with small amounts of data. IT Sectr typically uses Firestore as the primary database and Realtime Database only for real-time collaborations.
Firebase Authentication is a ready-made solution for user authentication. Firebase Auth supports email/password, Google, Apple, Facebook, Twitter, GitHub, phone auth and anonymous sign-in. The entire authentication process is implemented on the client side via the SDK.
Google Sign-In is one of the most popular authentication providers. Integrating Google Sign-In takes 15–30 minutes through the Firebase Console and requires no backend development. Users sign in with one click using their Google account.
Firebase Auth also provides backend functions via the Admin SDK. You can create users, update profiles, manage sessions, and verify ID tokens on the server. Integration with Cloud Functions allows creating custom authentication scenarios.
Security Rules — Firebase's security mechanism for databases and storage. Access rules are described declaratively and are checked on every request. For example: allow reading a document only if userId equals the currently authenticated user.
Example of a simple Security Rule for Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) is a service for sending push notifications. FCM handles up to 500 billion messages daily and supports iOS, Android and Web. Messages are divided into notification messages (automatic display) and data messages (in-app processing).
Firebase Remote Config allows you to change app behavior without publishing a new version. Remote Config is used for A/B testing, feature toggles, UI customization and dynamic parameter changes (e.g., ad frequency, paywall text).
Firebase A/B Testing is a tool for running experiments. Create two versions of the app with different parameters and measure the impact on metrics (conversion, retention, revenue). Tests automatically calculate statistical significance and determine the winner.
Firebase Dynamic Links are smart links that take users to the right place in the app. Dynamic Links work even if the app is not installed — in this case they go to the store page, and after installation restore context and redirect to the target screen.
IT Sectr uses the Remote Config + A/B Testing combination to optimize all key scenarios: from the welcome screen to the payment flow. Remote Config parameters can be changed in real time via the Firebase Console — this provides flexibility not available with traditional release cycles.
Firebase Test Lab is a cloud solution for automated app testing. Test Lab runs your tests on real Google devices in various configurations (different OS versions, screen resolutions, languages). Supports Espresso (Android), XCUITest (iOS) and Robo tests.
Firebase App Distribution is a platform for distributing beta versions of apps. App Distribution replaces TestFlight for Android and complements it for iOS. You can upload APK/AAB and get feedback from testers through Crashlytics integration.
The combination of Test Lab and App Distribution ensures quality at all stages of development: from automated tests on real devices to beta testing with real users. Integration with CI/CD (GitHub Actions, Bitrise) makes the process fully automatic.
| Service | Purpose | Free tier limit | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Collect and analyze user events | Unlimited | + | + | + |
| Crashlytics | Crash reporting | Unlimited | + | + | - |
| Firestore | NoSQL database | 1 GB storage | + | + | + |
| Realtime DB | Real-time database | 1 GB storage | + | + | + |
| Auth | User authentication | Unlimited | + | + | + |
| Cloud Messaging | Push notifications | Unlimited | + | + | + |
| Remote Config | Parameter management | Unlimited | + | + | + |
| Performance | Performance monitoring | Unlimited | + | + | + |
| Test Lab | Cloud testing | 10 tests/day | + | + | - |
| App Distribution | Beta version distribution | Unlimited | + | + | - |
| Cloud Functions | Server-side code on demand | 2 million calls/month | + | + | + |
Frequently Asked Questions
Firebase has a free Spark Plan with generous limits — analytics, crash reporting and authentication are free and unlimited. The Blaze Plan (pay-as-you-go) is needed when limits are exceeded — for example, more than 1 GB in Firestore or more than 2 million Cloud Functions calls. Most startups don't exceed the free limits in the first 1–2 years.
For most new projects, Firestore is recommended. Firestore offers better scalability, richer queries and multi-region replication. Realtime Database should only be chosen for simple real-time scenarios (chats with small amounts of data, real-time games).
Yes, Firebase uses open protocols and data can be exported. Firestore has managed export to BigQuery and Google Cloud Storage. Authentication can be migrated by exporting password hashes. Cloud Functions can easily be rewritten on any backend framework.
Firebase uses multi-layered protection: encryption at the transport level (TLS) and at the storage level (AES-256). Security Rules provide declarative access control. Firebase also complies with SOC 1/2/3, ISO 27001 and GDPR standards.
Firebase has limited functionality in China due to Google services being blocked. For the Chinese market, you need to use local alternatives — for example, Alibaba Cloud Push instead of FCM, or LeanCloud instead of Firebase. Firebase Analytics and Crashlytics will also be unavailable without a VPN.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.