At the recent Google I/O conference, Google introduced a new product, App Check, for its Mobile-Backend-as-a-Service platform Firebase. It provides an additional security layer for accessing other Firebase products. Many of the existing Firebase products saw improvements: The local Emulator Suite now includes the file store Cloud Storage, the monolithic Web SDK will be modularized, and Performance Monitoring processes data in real-time.
Firebase contains products to build apps, such as Authentication and the Firestore NoSQL database, to release and monitor performance (examples are Remote Config and Performance Monitoring), and to increase user engagement (which includes Google Analytics, Remote Configuration, and push notifications with Cloud Messaging).
Google claims that more than three million apps per month actively use Firebase, with significant growth. 500,000 apps were added during the 13 months dated from September 2019 to October 2020. More recently, the same number of apps were added during a seven-month timeframe, from October 2020 to May 2021. To put this into context, recent estimates put Apple’s App Store at 2.2 million apps and the Google Play Store at 3.5 million.
Most Firebase products are either free to use or offer a free tier. Firebase provides SDKs for iOS and Android apps, web projects, cross-platform apps built with Google’s Flutter UI framework, games, and back-end applications.
App Check verifies both the app and the device with tokens, whereas Authentication verifies the user’s right to access specific resources. It currently protects Cloud Storage, the Realtime Database, and the serverless product Cloud Functions, with support planned for other Firebase products. App Check requires DeviceCheck on iOS, SafetyNet on Android, and reCAPTCHA v3 for web apps.
The Emulator Suite runs Firebase products on developer machines without incurring cloud costs or potentially mixing test data and production data. Before adding Cloud Storage, it already supported Authentication, the newer Firestore database, the older Realtime Database, Cloud Functions (including Pub/Sub), and Hosting.
The modularization of the Firebase Web SDK in version 9 is a beta feature. This allows build tools to perform the so-called tree-shaking of the version 9 SDK, which promises to shrink the SDK size by up to 80% for deployment.
Remote Config enables feature flags and app personalization by delivering customized configuration values to user segments or individual users. In addition, the Remote Config console improved the display of configuration parameters and better highlights which configuration changes are ready for roll-out. Google also revamped the A/B test results page. The newly announced Personalization feature uses machine learning to automatically apply the proper configuration for any user, based on given goals (such as revenue or engagement). It is not yet available to the public.
App Distribution allows developers to ship test versions of their apps on both iOS and Android. It now supports Android App Bundles, Android’s current official app publishing format, in addition to APK files, Android’s old publishing format.
Crashlytics analyzes crash data of mobile apps and now allows searching for and filtering by custom keys. It also improved support for apps built with Android’s Native Development Kit and with game engines such as Unity.
Google also highlighted recent Extensions, plugins for Firebase, that provide full-text search and the analysis of user comments in the Cloud Firestone database, synchronize Firebase Authentication user data with MailChimp, and send messages with MessageBird (either text messages or chat programs).