Firebase App Distribution and Fastlane, too fast too furious!

Ryan NHP
4 min readOct 2, 2019

--

Firebase has just launched App Distribution to help developers send beta testing to testers easier and it’s available for beta version this September. You can log in Firebase Console to have a look

It’s in the Quality tab

Next, install plugin firebase_app_distribution for fastlane by run this in your terminal

fastlane add_plugin firebase_app_distribution

Check that if in your Pluginfile like this

Next, install Firebase CLI by running this in your terminal

curl -sL firebase.tools | bash

Sign in your account to authorize Firebase by running

firebase login

and you can log out anytime by running with the following command line

firebase logout

You can select Yes or No if you want to allow Firebase to collect your data. For me, I choose Yes because maybe Firebase will give us some reports about my apps

Then, your browser will open this link automatically to ask your permission

Next is an important step, create a new lane in your Fastfile

You can use Gym to build your app first

lane :upload_to_firebase
#Step 1 — Build your app, my suggestion is gym
#Step 2 — Upload to firebase app distribution
firebase_app_distribution(
app: “APP-ID”,
testers: “TESTER-EMAILS”,
groups: “TESTER-GROUP”,
release_notes: “RELEASE-NOTE”,
firebase_cli_path: “/usr/local/bin/firebase”,
ipa_path: “IPA-PATH”
)
end

So, what’s APP-ID here

Enter Project settings in firebase console

Scroll down and you’ll see your APP-ID here

Next is TESTER-EMAILS, back to your App Distribution and select the tab Testers & Groups

If you put tester emails in your lane already, you no need to add testers again manually in firebase console, like the image below, no need to add my testers again for each builds

There’re 3 milestones to show you who:

Invited already but not accept your invitation yetAccepted your invitation but not install it yet

With TESTER-GROUP, please make sure that you use a correct group id (not a group name)

For example, I have a group name Worldwide Team, but in Fastfile I must input a group ID, as image below, we have worldwide-team

Next is RELEASE-NOTE, yeah, it’s like What’s new for this beta app?

Next is RELEASE-NOTE, yeah, it’s like What’s new for this beta app?

if you don’t know where is your firebase CLI path, you can copy this maybe the same with you

firebase_cli_path: “/usr/local/bin/firebase”

Next, IPA-PATH is a path that includes your .ipa file

Yeah, finally we can finish it as the simplest way

Now you can try to run your lane, we’ll get a message when it finishes:

I tried 2 times, and amazing, it’s really fast, just only less than a minute (27 seconds and 55 seconds) to upload builds to firebase

Now, let’s compare with Testflight

So we can see Firebase App Distribution is faster than Testflight ( 248 or 335 sec not include time for Apple to process builds)

But, with Testflight we can add new testers with a current build on Testflight and with Firebase we must add them in provisioning and must reupload the builds ( but I think it’s not usually to add new testers)

Peace!

Other Articles

--

--