---
title: Firebase App Distribution Destination
description: Configure a Firebase App Distribution destination to distribute Android and iOS builds to your tester groups automatically with Capawesome Cloud.
---

# Firebase App Distribution

To distribute your Android and iOS app builds to testers, you need to configure a Firebase App Distribution destination in the Capawesome Cloud Console. App submissions are uploaded to Firebase App Distribution and distributed to the configured tester groups.

## Configuration

To create a Firebase App Distribution destination, navigate to the [Destinations](https://console.cloud.capawesome.io/apps/_/destinations){:target="_blank"} page in the Capawesome Cloud Console and provide the following information:

- **Name**: A descriptive name for this destination (e.g., "QA Android", "Beta iOS").
- **Platform**: Either `Android` or `iOS`.
- **Type**: Must be set to `Firebase App Distribution`.
- **App ID**: The Firebase app ID of your app (e.g., `1:123456789012:android:0a1b2c3d4e5f67890`).
- **Tester groups**: The aliases of the tester groups to distribute the build to (optional).
- **JSON Key File**: Service account JSON key file from Google Cloud Console.
- **Publishing format**: The app bundle format (`AAB` or `APK`). Android only.

Read on for detailed instructions on obtaining the required credentials.

## Obtaining Credentials

### Firebase App ID

Each app in a Firebase project has its own app ID in the format `1:<projectNumber>:<platform>:<hash>`, where the platform is `android` or `ios`. Use the app ID that matches the platform of the destination. You can find it in the [Firebase console](https://console.firebase.google.com/){:target="_blank"} under **Project settings** > **General** in the **Your apps** section.

### Tester Groups

Tester groups are identified by their alias (e.g., `qa-team`), which you can find with each group in the App Distribution section of the Firebase console. You can add up to 20 groups. If you don't add any, the build is uploaded without being distributed to a group.

### JSON Key File

A service account JSON key file is required to authenticate with Firebase. The service account needs the **Firebase App Distribution Admin** role in the Google Cloud project of your Firebase project.

To obtain the service account JSON key file:

1. Sign in to [Google Cloud Console](https://console.cloud.google.com/){:target="_blank"} and select the Google Cloud project of your Firebase project.
2. Navigate to **IAM & Admin** > **Service Accounts**.
3. Create a new service account by clicking **Create Service Account**.
   1. In step 1, fill in the service account details and click **Create and Continue**.
   2. In step 2, assign the role **Firebase App Distribution Admin** and click **Continue**.
   3. In step 3, you can leave the fields empty and click **Done**.
4. In the list of service accounts, locate the newly created service account. Click on the menu in the Actions column and select **Manage keys**.
5. In the **Keys** tab, click **Add Key** > **Create new key**.
6. Select **JSON** as the key type and click **Create**. Save the downloaded JSON key file for later use.

Upload this JSON key file when configuring your Firebase App Distribution destination in the Capawesome Cloud Console.

### Publishing Format

Both Android App Bundles (AAB) and APKs are supported. **AAB uploads require your Firebase app to be linked to Google Play.** That's why the Console preselects APK for Android destinations. If your Firebase app isn't linked to Google Play, keep APK.

If your build contains a Wear OS, Android TV, or Automotive module, only the phone app is uploaded. See [Build for Wear OS, Android TV and Automotive](../../native-builds/form-factors.md).

## iOS Builds

Testers can only install iOS builds of type [Ad Hoc, Development, or Enterprise](../../native-builds/build-types.md#ios-build-types). App Store builds can't be installed by testers, so submitting one to this destination fails.

For Ad Hoc and Development builds, the UDIDs of your testers' devices must be included in the [provisioning profile](../../native-builds/certificates/ios.md#provisioning-profiles). Firebase collects the UDIDs of your testers and sends them to you by email. Register the devices in your Apple Developer account, regenerate the provisioning profile, and replace it in your signing certificate before the next build.

## Next steps

- [Submit a build](../submit-a-build.md) — send a build to your new destination.
- [Submit automatically after a build](../submit-automatically.md) — distribute every build with an automation.
