What is Firebase?
Firebase is a cloud platform for creating and developing mobile apps, including mobile games. Its set of products is available within the Google Cloud infrastructure and compatible with other Google services.
Today, creating mobile apps and games is relatively easy. Mobile games already account for 53% of the total gaming market, and the value is still increasing.
However, when your app is trying to conquer highly competitive markets or achieving global brand success, the task may overwhelm even the most skilled teams of developers. Hence the need to use tools that will relieve specialists and allow them to focus solely on product creation.
Mobile game development challenges
Game development differs from a “traditional” software development. The product has to meet technical and functional requirements or securely store and process data but also has to be attractive to the audience and deliver entertainment without any interruptions. Bugs in games are almost unforgivable – up to 62% of users will uninstall an app if it crashes or lags (source: Intel Developer Zone).
Developing mobile games presents many challenges. What are they?
- It is necessary to have a highly available infrastructure that scales in seconds, adapts to the number of users and doesn’t hold back growth.
- Apps process user data (and sometimes payment information), so ensuring the highest level of security for user log-in, data storage, and processing is a must.
- The game must work correctly on various devices – smartphones and tablets from different manufacturers, with different operating systems, resolutions, sizes or screen configurations.
- The game mustn’t have bugs, crashes, or lags; it must run smoothly and efficiently.
- Bugs and crashes must be tracked down as soon as possible and the previous version replaced with a new one, tested for changes.
- A high pace of development must be maintained, with new versions and features being created and deployed regularly.
- In addition to the technical aspects, you have to keep your app engaging – analyse user behaviour and how they carry out gameplays, track down where many of them get stuck and react so the fun doesn’t turn into frustration.
Google Cloud’s Firebase offers a solution to most of these problems.
Firebase features 18 products in total in three large modules: Build (for app development), Release & Monitor (for quality assurance) and Growth (for scaling up). The environment can be easily integrated with other functions via an open API.
Build: develop an app on Firebase
The Firebase platform cuts down on the time spent building the application backend and maintaining servers. Firebase’s portfolio for app building includes:
- Cloud Firestore – a cloud-based NoSQL database that synchronises records in real-time and keeps track of user changes, even if they were made offline.
- Authentication – user registration and logging-in service that includes various authentication methods, i.a., by email and password, Google account or Facebook profile.
- App Check – an additional layer of security that helps protect backend resources from abuse, such as billing fraud or phishing.
- Cloud Functions – a serverless framework for creating basic functions and automatically running them in response to events.
- Hosting – fast and secure web hosting with free SSL certification or blazing-fast content delivery thanks to caching files on SSD disks at CDN edge servers around the globe.
- Cloud Storage – for storing and serving files, such as photos or videos made by users.
- Realtime Database – a low-latency database for JSON data.
- Extensions – pre-packed solutions that can expand the Firebase environment, i.a., streaming data to BigQuery, enabling in-app purchases, or detecting toxic behaviour or content.
Release & Monitor: ensure the app’s high quality
Manual tests are expensive because they involve going through every scenario at every level. Also, popular QA automation frameworks (UI Automator, XCUITest or Espresso) don’t work for mobile games.
Firebase solves these issues by delivering services for quality testing, error tracking and crash reporting:
- Firebase Crashlytics – a crash reporting tool that tracks all in-game errors and, i.a., user reaction to bugs. The data is available on an easy-to-read dashboard. Production bugs can be traced in the code thanks to stack traces files. Crashlytics allows setting up notifications every time an issue occurs.
- Firebase Performance Monitoring – monitors the performance of the app: you can control HTTP requests or product initiation time without the need to write additional lines of code.
- Google Analytics – a well-known analytics tool but for mobile products. It lets the app’s owner read user behaviour data from dashboards and charts. Combined with the BigQuery cloud data warehouse service, it allows running comprehensive analysis from various angles, including multiple data sources.
- Firebase Test Lab – for running tests on the app on virtual and physical devices. Test Lab provides more than 1,000 devices with different technical specs, OS versions, languages, locations, and size or screen resolutions. After completing the tests, the results are are complete with statistics, performance metrics, loading times, or CPU and memory consumption levels. They are all synchronised with video recordings of the events in the game.
- App Distribution – a service for sending a pre-release version of an application to a group of trusted Firebase testers.
- Firebase Machine Learning – machine learning capabilities you can implement into the game to improve it.
Engage: enhance players’ loyalty
To maintain a high level of engagement, it’s necessary to get to know the players, their needs or pain points, and respond to them quickly and adequately.
Carrying out analytics, engaging users in a personalised way and sending tailored marketing messages will translate into marketable product stability, a number of downloads and, at the end of the day, revenue.
To achieve this goal, you can use the following:
- Firebase Remote Config – allows you to make changes to the app UI for all or groups of users without rolling out a new version.
- Firebase Cloud Messaging – a push notification service.
- In-App Messaging – automatic sending of personalised messages inside the game. The dispatch can be triggered, i.a., by actions taken by the user.
- A/B Testing – with this service you can add major functionalities or changes to the game. It allows you to run A/B tests on groups of users.
- Firebase Dynamic Links – service that automatically creates URLs, e.g., referral links to install the app.
Why should I use Firebase?
The google environment for mobile app development (both iOS and Android) helps developers cut down mobile app development time by using ready-made solutions within the Firebase portfolio.
Firebase consists of fully scalable and stable backend and infrastructure services that are relatively simple and fast to implement into the app. In the long term, using the platform can also speed up growth. It makes changes and new features easy to deploy. It can also reduce infrastructure maintenance costs.
In addition to services that support app development, the platform also provides services for testing and improving the quality of the game, as well as tools dedicated to reaching out and engaging users.
What’s more, the Firebase environment can:
- automatically size graphics in Cloud Storage,
- export data from Cloud Firestore to BigQuery,
- perform advanced analytics,
- delete information about a user from all databases the second they shut down an account.
You can integrate Firebase with other Google products (i.a., Google Ads, Google Data Studio) and external apps (i.a., Slack, Jira).
Would you like to know more about Firebase, the cloud and the cooperation with a certified Google Cloud partner? Drop us a line.