Delivering Mobile Apps With Firebase App Distribution

Keitaro
3 min readFeb 20, 2024
Delivering Mobile Apps With Firebase App Distribution
Delivering Mobile Apps With Firebase App Distribution

In today’s fast-paced world, delivering mobile apps efficiently and effectively is crucial for app developers and teams. Firebase App Distribution offers a powerful solution that simplifies the process of distributing apps to testers and streamlines the entire app distribution workflow. This blog post will explore how to set up Firebase App Distribution, create tester groups, and seamlessly distribute your app to the right audience.

Lets start!

Set up a firebase project

As a first step in utilizing Firebase App Distribution, we need to create a Firebase project.

  1. Sign in to Firebase.
  2. Click Go to console.
  3. Click + Create a project and follow the prompts to create a project. You can name your project anything you want.
  4. Once the project is created, the project configuration page is open.

Enable App Distribution

Next, on the project configuration page, under Release & Monitoring select App Distribution and continue by clicking Get Started.

Enable App Distribuition

Specify Tester Groups

On the App Distribution screen under Testers & Groups, we can create groups that will later ease the process of specifying who should get a specific app distribution.

Specify Tester Groups

There is only one group created called dev-team where you can add the desired testers who will receive the app.

Build and Distribute the App

After all the above steps are completed, we can build the app. You can build the app with your preferred method and create an APK or AAB.

The easiest way to distribute an app is by manually uploading it through the App Distribution web UI. But here we’ll go a step further and use the Firebase CLI.

Using the following command the app can be delivered to the dev-team testers:

``` bash
firebase appdistribution:distribute app.apk \
--app <your-app-id> \
--release-notes "Bug fixes and improvements" \
--groups dev-team

Note: The app id can be found under project settings given that the app has been registered with the Firebase project.

Now that we have a single version distributed to the testers in the dev-team group, every tester should have received an email message with instructions on installing the App Tester app, making it easier to access and install the distributed apps. For reference, you can see how to get set up as a tester.

For subsequent distributions, at least the build number from the app version needs to be incremented for app distribution to recognize the app version change and distribute it to testers.

Advantages of Using Firebase App Distribution

As we can see through this article, the steps for setting up and using App Distribution are quite simple. However, we still get a powerful tool that can be utilized in multiple ways to support a part of the development lifecycle of an Android or IOS app. Using App Distribution, delivering the right version of the app to the right test group can be fully automated and can cut back a lot of hours that the team would otherwise have to spend on doing the work manually.

In the example in this article, we saw how to distribute an app using the Firebase CLI, which can be sufficient when working on a personal or smaller-scale project. But, if we try to scale this to a larger team managing who has access to Firebase App Distribution and managing each team member’s credentials can become a challenge. Because of this in a larger project, the preferred way of using App Distribution would be from a CI/CD pipeline. The migration from local Firebase CLI to using it from a pipeline is simple as the CLI supports CI/CD workflows. You can find more about this on the following link.

Finally, Firebase App Distribution has a ready-made plugin for Fastlane. If you are using Fastlane in your projects, integrating App Distribution should be fairly easy since it is well-supported and documented.

--

--

Keitaro

Keitaro is a Linux and Open-source software company that develops solutions empowering organizations and enterprises around the world.