Firebase App Distributionは、アプリストアに公開することなく、モバイルアプリケーションのプレリリースビルドをテスターや内部チームに配布するためのGoogleのサービスです。App Distributionは、APKおよびIPAファイルのアップロード、テスターグループの管理、フィードバックの収集のための統一インターフェースを提供します。Firebase Documentation, 2026によると、このサービスは新しいバージョンについて電子メールとプッシュ通知でテスターに自動的に通知し、Fastlane統合により手動操作なしでCI/CDパイプラインから直接ビルドを公開できます。App DistributionはAndroid(AAB/APK)とiOS(IPA)の両方をサポートし、アドホック配布およびエンタープライズ配布に対応しています。
重要なポイント
Firebase App Distributionは、モバイルアプリケーションのプレリリース版をテスターや関係者に配布するためのGoogleのサービスです。アプリストアでの公開とは異なり、App Distributionは長い審査プロセスなしで、選択した参加者に即座にビルドを届けることができます。このサービスはFirebase Crashlyticsと統合されており、開発者はテスターから直接クラッシュレポートを受け取り、公開リリース前に問題を修正できます。
ベータ版の従来の配布プロセスには、APK/IPAファイルを手動で電子メールで送信したり、サードパーティのファイル共有サービスにアップロードしたり、独自のサーバーを設定したりすることが含まれます。Firebase App Distributionはこれらの問題を解決します:Google Cloud上の統合ビルドリポジトリ、自動テスター通知、集中アクセス管理、Firebase Crashlyticsを介した組み込みフィードバック。このサービスはCI/CDと定期的なリリースを実践するチームに不可欠です:新しいビルドはアップロード後1分以内にテスターが利用できます。
App Distributionはモバイルプラットフォームのすべての標準ビルド形式をサポートしています。Androidの場合 — APKおよびAndroid App Bundle(AAB)、インストール時にAABから自動的にAPKを生成します。iOSの場合 — アドホック、開発、エンタープライズ配布用のIPAファイル。各ビルドにはリリースノート、バージョン番号、追跡用のビルドコードが付属します。最大アップロードファイルサイズは500MB、ビルドの保存期間は150日間です。
Firebase App Distributionへのビルドのアップロードは、Firebase Console、CLI(firebase appdistribution:distribute)、またはFastlaneやGradleなどの自動化ツールを介して行われます。アップロード時に、ビルドバージョン、リリースノート、通知を受け取るテスターまたはグループのリストを指定します。Firebaseはビルドに一意の識別子を自動的に割り当て、リンクを介してインストールできるようにします。
Firebase Consoleは、ビルドのアップロードとバージョン管理のためのウェブインターフェースを提供します。コンソールには日付、バージョン、ステータス、インストール数とともに、アップロードされたすべてのビルドの履歴が表示されます。重大なバグが見つかった場合、開発者は特定のバージョンを無効にできます — これにより、そのバージョンのインストールがすべてのテスターに対してブロックされます。コンソールは日別のインストールグラフも表示し、テストアクティビティの追跡に役立ちます。
Firebase CLIを使用すると、1つのコマンドでビルドをアップロードでき、CI/CDパイプライン統合に便利です。distributeコマンドは、ファイルパス、プロジェクトアクセストークン、テスターグループのリスト、オプションのリリースノートを受け入れます。認証には、Firebase App Distribution管理者ロールを持つFirebaseサービスアカウントを使用します。CLIはAndroidとiOSの両方のビルドをサポートし、ファイル拡張子によってプラットフォームを自動的に検出します。
# Firebase CLIによるビルドのアップロード
firebase appdistribution:distribute \
app-release.apk \
--app 1:123456789:android:abc123def456 \
--groups "qa-team,product-owners" \
--release-notes "認証バグを修正しました" \
--token "FIREBASE_TOKEN"
Firebase App Distributionは柔軟なテスター管理システムを提供します:電子メールで参加者を追加したり、ロールやプロジェクトごとにグループを作成したり、異なるグループに異なるビルドを割り当てたりできます。新しいテスターが追加されると、システムはアプリケーションのインストール手順を記載した招待メールを送信します。テスターは自分のグループに割り当てられた新しいビルドごとに自動通知を受け取ります。
グループを使用すると、テスターを機能的に整理できます。グループの例:QAチーム(すべてのビルドへの完全アクセス)、プロダクトオーナー(安定したビルドへのアクセス)、外部テスター(外部ベータテスターへの制限付きアクセス)。1人のテスターが複数のグループに所属できます。ビルドをアップロードする際、開発者はターゲットグループを選択します — 選択されたグループのメンバーのみが通知を受け取り、情報のノイズを排除します。
プログラムでテスターを追加するには、Firebase App Distribution APIを使用します。APIを使用すると、テスターの作成、グループへの追加、必要に応じた削除が可能です。これは、内部テスト管理システムやバグトラッカーとの統合に便利です。APIを介してテスターが追加されると、最初のアプリケーションをインストールするためのリンクを含む招待メールも受け取ります。
const admin = require("firebase-admin")
const serviceAccount = require("./serviceAccountKey.json")
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) })
async function addTestersToGroup(email, groupAlias) {
try {
await admin.appDistribution().addTesters(email, [groupAlias])
console.log("テスターがグループに追加されました")
} catch (error) {
console.error("エラー:", error)
}
}
addTestersToGroup("tester@example.com", "qa-team")
Firebase App DistributionによるAndroidビルドの配布は、APKとAndroid App Bundle(AAB)の2つの形式をサポートしています。AABをアップロードすると、FirebaseはGoogle Play App Signingを使用してテスターのデバイスと互換性のあるAPKを自動的に生成します。テスターは直接リンクを介してアプリケーションをインストールします — Google Play Consoleへのアクセスは不要で、Play Consoleにテスターとして追加される必要もありません。これにより、Androidのベータテストプロセスが大幅に簡素化されます。
App Distributionを介してインストールするには、テスターはデバイスで不明なソースからのインストールを有効にする必要があります。Firebaseは自動的にAPKインストールボタンがあるウェブページへのリンクを生成します。AAB形式の場合、デバイスはPlay Core Libraryをサポートし、Google Play Storeがインストールされている必要があります。Firebaseは最終バージョンにはAABを、迅速なイテレーションにはAPKを使用することを推奨しています。
Gradle用のFirebase App Distributionプラグインを使用すると、Gradleタスクから直接ビルドを送信できます。設定にはcom.google.firebase.appdistributionプラグインの追加、サービスアカウントの設定、ターゲットグループの構成が含まれます。セットアップ後、assembleDistReleaseタスクはアプリケーションをビルドし、1つのコマンドでFirebase App Distributionにアップロードします。
// build.gradle (module: app)
plugins {
id 'com.android.application'
id 'com.google.firebase.appdistribution'
}
android { // standard config }
firebaseAppDistribution {
appId "1:123456789:android:abc123def456"
serviceCredentialsFile "firebase-sa.json"
groups "qa-team"
releaseNotes "自動ビルド"
}
Firebase App DistributionによるiOSビルドの配布には追加の設定が必要です。AppleはApp Store外でのアプリケーションのインストールを制限しているためです。iOSアプリを配布するには、Apple Developer Programのアドホック証明書またはエンタープライズ証明書を使用する必要があります。テスターはアドホック配布用のデバイスとしてApple Developer Portalに追加するか、デバイス制限のないエンタープライズ配布を使用する必要があります。
アドホック配布の場合、すべてのテスターデバイスのUDIDを収集し、Apple Developer Portalに追加する必要があります。Firebase App DistributionはテスターにUDIDの検索手順を表示し、登録されたデバイスを自動的に保存します。UDIDをプロビジョニングプロファイルに追加しIPAをビルドした後、テスターはインストールリンクを受け取ります。Firebaseはテスター数が多いプロジェクトにはエンタープライズ証明書の使用を推奨しています。アドホックはアカウントあたり100デバイスに制限されているためです。
FastlaneはiOSアプリケーションのビルドを自動化するための推奨ツールです。match laneは証明書とプロビジョニングプロファイルを管理し、sigh laneは配布用のIPAを作成します。Firebase App Distributionはfirebase_app_distributionプラグインを介してFastlaneと統合され、IPAをアップロードしてテスターに通知します。Fastlaneは追加のプラグインを介してバージョン管理とリリースノートもサポートしています。
# Fastfile
lane :beta do
match(type: :adhoc)
gym(scheme: "MyApp", export_method: "ad-hoc")
firebase_app_distribution(
app: "1:123456789:ios:abc123def456",
groups: "qa-team",
release_notes: "ビルド日時: #\{Time.now.strftime
('%Y-%m-%d %H:%M')}"
)
end
CI/CDとのFirebase App Distributionの完全な統合により、リポジトリへのコミットごとに新しいビルドを自動的に公開できます。CIパイプラインを設定することで、チームはコードプッシュの数分後にテスターから即座にフィードバックを得られます。App Distributionはすべての主要なCIシステムをサポートしています:GitHub Actions、GitLab CI、Jenkins、Bitrise、CircleCI。各プラットフォームには独自の設定が必要ですが、一般的な原則は同じです:ビルド → アップロード → 通知。
GitHub Actionsを使用すると、developブランチへのプッシュ時やプルリクエスト作成時に自動ビルド配布を設定できます。ワークフローにはJava/Flutter/Node.jsのインストール、アプリケーションのビルド、Firebaseサービスアカウントによる認証、distributeコマンドでのFirebase CLIの実行が含まれます。シークレット(トークン、サービスアカウント)はGitHub Secretsに保存され、ビルドログには公開されません。iOSの場合、ワークフローにXcodeの設定とFastlaneのインストールが追加で必要です。
# .github/workflows/distribute.yml
name: Distribute to Firebase
on:
push: { branches: [ develop ] }
jobs:
build-and-distribute:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
with: { distribution: "temurin", java-version: "17" }
- name: Build APK
run: ./gradlew assembleDebug
- name: Upload to Firebase
uses: wzieba/Firebase-Distribution-GitHub-Action@v1
with:
appId: "${{ secrets.FIREBASE_APP_ID }}"
serviceCredentialsFileContent: "${{ secrets.FIREBASE_SA_KEY }}"
groups: qa-team
file: app/build/outputs/apk/debug/app-debug.apk
Firebase App Distributionは、テスターからのクラッシュレポートを自動収集するためにFirebase Crashlyticsと統合されています。Crashlyticsは自動的にクラッシュを特定のビルドバージョンとデバイスに関連付け、問題の迅速な特定と修正に役立ちます。テスターはApp Distributionのウェブインターフェースを介してスクリーンショットやコメントを送信することもでき、ビルドのインストール後にフィードバックフォームのリンクを受け取ります。
よくある質問
Firebase App Distributionはクロスプラットフォームサービス(Android + iOS)で、iOSのみで動作するTestFlightとは異なります。App DistributionはCrashlyticsやFirebase Analyticsとも統合され、両方のプラットフォームでベータテストのための統一されたエコシステムを提供します。
ビルドはアップロード日から150日間保存されます。この期間を過ぎると自動的に削除されます。テスターが古いバージョンをインストールしないように、新しいビルドを定期的にアップロードし、Firebase Consoleを介して古いビルドを手動で削除することをお勧めします。
Firebase App Distributionのテスター数に制限はありません。iOSアドホック配布の場合、Appleのアカウントあたり100デバイスの制限が適用されます。AndroidおよびiOSエンタープライズ配布の場合、テスター数に制限はありません。
はい、App DistributionはAAB(Android App Bundle)をサポートしています。FirebaseはGoogle Play App Signingを使用して、各テスターのデバイス用にAABから自動的にAPKを生成します。これはPlay Storeに公開する前のテストに特に便利です。
はい、App DistributionはFirebaseの無料Sparkプランに含まれています。Sparkプランの制限:プロジェクトあたり月間500テスター、25,000インストールまで。Blazeプランはこれらの制限を解除し、優先サポートを追加します。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。