Firebase App Distribution
Firebase App Distribution is a platform provided by Google Firebase that enables developers to distribute pre-release versions of mobile apps to testers and stakeholders. This platform streamlines the distribution of Android and iOS apps and offers features such as targeted distribution, release notes, and feedback collection. The Appcircle Firebase App Distribution step enables you to efficiently distribute your mobile applications to testers and relevant parties directly from your Appcircle workflow. With this integration, you can optimize the distribution process and gather valuable feedback to iterate on your app before its public release.
Please note that you can also distribute your app via Appcircle. Utilizing Appcircle's distribution modules enhances manageability within the platform.
For more details, please refer to the following links:
Prerequisites
Before running the Firebase App Distribution step, you must complete certain prerequisites, as detailed in the table below:
For Android (Java / Kotlin and React Native)
Prerequisite Workflow Step | Description |
---|---|
Android Build | Generates the app required for the Firebase App Distribution step. |
Android Sign | Required for signing the app; processes the app for signing. This step can be skipped if the app is already signed. |
For iOS (Objective-C / Swift and React Native)
Prerequisite Workflow Step | Description |
---|---|
Xcodebuild for Devices | Builds the application in ARM architecture and generates an IPA file. |
For Android Flutter
Prerequisite Workflow Step | Description |
---|---|
Flutter Build for Android | Generates the app required for the Firebase App Distribution step. |
Android Sign | Required for signing the app; processes the app for signing. This step can be skipped if the app is already signed. |
For iOS Flutter
Prerequisite Workflow Step | Description |
---|---|
Xcodebuild for Devices | Builds the application in ARM architecture and generates an IPA file. |
Flutter Build for iOS | Prepares the Flutter project for the iOS environment and builds it using the Flutter SDK. |
Input Variables
This step contains some input variable(s). It needs these variable(s) to work. The table below gives explanation for this variable(s).
Please do not use sensitive variables such as Username, Password, API Key, or Personal Access Key directly within the step.
We recommend using Environment Variables groups for such sensitive variables.
Variable Name | Description | Status |
---|---|---|
$AC_FIREBASE_VERSION | Specifies the Firebase version to be used. Enter your Firebase version, such as v11.11.0 , for a specific version. The default value is latest . | Required |
$AC_FIREBASE_APP_PATH | Specifies the full path of the build. For example, $AC_EXPORT_DIR/Myapp.ipa or $AC_APK_PATH . | Required |
$AC_FIREBASE_APP_ID | Specifies your app's Firebase App ID. You can find the app ID in the Firebase console. | Required |
$AC_FIREBASE_TOKEN | Specifies a refresh token that's printed when you authenticate with the firebase login:ci command. Select either a Firebase token or a Google Service account. | Optional |
$GOOGLE_APPLICATION_CREDENTIALS | Specifies the path of the Google Service Account JSON. Upload the service account as a file to your environment group and name it GOOGLE_APPLICATION_CREDENTIALS . Select either a Firebase token or a Google Service account. | Optional |
$AC_FIREBASE_RELEASE_NOTES | Specifies the release notes for this build. If you want to use a file for release notes, leave this field empty and configure the next section. | Optional |
$AC_FIREBASE_RELEASE_NOTES_PATH | If you use the Publish Release Notes component before this step, release-notes.txt will be used as release notes. | Optional |
$AC_FIREBASE_GROUPS | Specifies the Firebase tester groups you want to invite. | Optional |
$AC_FIREBASE_EXTRA_PARAMETERS | Specifies extra command line parameters. Enter --debug for debug mode. | Optional |
The Firebase App Distribution step generates no output variables. The step succeeds if the app is distributed successfully; otherwise, it fails.
To access the source code of this component, please use the following link: