Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

fastlaneを使用してAndroidアプリをテスターに​​配布する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このドキュメントでは、iOS および Android アプリのビルドとリリースを自動化するオープン ソース プラットフォームであるfastlaneを使用して APK ビルドをテスターに​​配布する方法について説明します。このドキュメントは、 Fastfileで定義されている手順に従います。 fastlane とFastfileをセットアップしたら、App Distribution を fastlane 構成と統合できます。

あなたが始める前に

まだ行っていない場合は、 Firebase を Android プロジェクトに追加します

他の Firebase 製品を使用していない場合は、プロジェクトを作成してアプリを登録するだけです。ただし、今後追加の製品を使用する場合は、上記のリンク先のページのすべての手順を完了してください。

ステップ 1. fastlane をセットアップする

  1. fastlane をインストールしてセットアップします

  2. App Distribution を fastlane 構成に追加するには、Android プロジェクトのルートから次のコマンドを実行します。

    fastlane add_plugin firebase_app_distribution

    コマンドでオプションのプロンプトが表示された場合は、 Option 3: RubyGems.orgを選択します。

ステップ 2. Firebase で認証する

fastlane プラグインを使用する前に、まず次のいずれかの方法で Firebase プロジェクトを認証する必要があります。デフォルトでは、他の認証方法が使用されていない場合、fastlane プラグインは Firebase CLI から認証情報を探します。

ステップ 3. Fastfile をセットアップしてアプリを配布する

  1. ./fastlane/Fastfileレーンで、 firebase_app_distributionブロックを追加します。次のパラメーターを使用して、配布を構成します。
    firebase_app_distribution パラメータ
    app

    Required : アプリの Firebase アプリ ID。アプリ ID は、Firebase コンソールの[一般設定] ページで確認できます。

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    プラグインのログイン アクションを実行するとき (上記の Google アカウントを使用して認証する を参照)、または Firebase CLI を使用して CI 環境を認証するとき (詳細については、CI システムで CLI を使用するを参照) に出力される更新トークン。

    service_credentials_file

    Google サービス アカウントの json ファイルへのパス。サービス アカウント資格情報を使用して認証する方法については、上記を参照してください。

    android_artifact_type

    Android ファイルの種類 (APK または AAB) を指定します。

    android_artifact_path

    apk_pathを置き換えます (非推奨)。アップロードする APK または AAB ファイルへの絶対パス。指定されていない場合、fastlane は、ファイルが生成されたレーンからファイルの場所を決定します。

    release_notes
    release_notes_file

    このビルドのリリース ノート。

    リリース ノートを直接指定することもできます。

    release_notes: "Text of release notes"

    または、プレーン テキスト ファイルへのパスを指定します。

    release_notes_file: "/path/to/release-notes.txt"
    testers
    testers_file

    招待するテスターのメール アドレス。

    テスターを電子メール アドレスのコンマ区切りリストとして指定できます。

    testers: "ali@example.com, bri@example.com, cal@example.com"

    または、電子メール アドレスのコンマ区切りリストを含むプレーン テキスト ファイルへのパスを指定できます。

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    招待するテスター グループ (「テスターの管理」を参照)。グループは次を使用して指定されますグループ エイリアス、Firebase コンソールで調べることができます。

    グループをカンマ区切りのリストとして指定できます。

    groups: "qa-team, trusted-testers"

    または、グループ名のコンマ区切りリストを含むプレーン テキスト ファイルへのパスを指定できます。

    groups_file: "/path/to/groups.txt"
    debug

    ブール値フラグ。詳細なデバッグ出力を出力するには、これをtrueに設定できます。

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(...)
        # build_android_app is a built-in fastlane action.
        firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!"
        )
    end
end

テスターがビルドを利用できるようにするには、レーンを実行します:

fastlane <lane>

ビルドを配布すると、Firebase コンソールの App Distribution ダッシュボードで 150 日間利用できます。ビルドの有効期限が切れてから 30 日になると、コンソールとテスターのテスト デバイス上のビルドのリストに有効期限の通知が表示されます。

以前にアプリのテストに招待されていなかったテスターは、開始するための招待メールを受け取ります。既存のテスターは、新しいビルドをテストする準備ができたという電子メール通知を受け取ります。テスト アプリのインストール方法については、テスター セットアップ ガイドを参照してください。各テスターのステータスを監視して、招待を受け入れたかどうか、および Firebase コンソールでアプリをダウンロードしたかどうかを判断できます。

(オプション)App Distribution で新しいリリースを作成するたびにビルド番号を自動的にインクリメントするには、firebase_app_distribution_get_latest_release firebase_app_distribution_get_latest_releaseと、たとえば、 increment_version_code fastlane プラグインを使用できます。次のコードは、ビルド番号を自動的にインクリメントする方法の例を示しています。

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

firebase_app_distribution_get_latest_releaseアクションの詳細については、アプリの最新リリースに関する情報を取得するをご覧ください。

ステップ 4 (オプション)。ディストリビューションのテスターの管理

Fastfileファイルを使用するか、fastlane アクションを直接実行することで、アプリ リリースからテスターを追加および削除できます。アクションを実行すると、 Fastfileに設定された値が直接上書きされます。

テスターを Firebase プロジェクトに追加したら、それらを個々のリリースに追加できます。 Firebase プロジェクトから削除されたテスターは、プロジェクト内のリリースにアクセスできなくなりますが、しばらくの間はリリースにアクセスし続ける可能性があります。

Fastfileを使用する

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

fastlane アクションを実行する

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

--emails の代わりに--emails --file="/path/to/testers.txtを使用してテスターを指定することもできます。

firebase_app_distribution_add_testersおよびfirebase_app_distribution_remove_testersタスクは、次の引数も受け入れます。

  • project_name : Firebase プロジェクト番号。
  • service_credentials_file : Google サービス資格情報ファイルへのパス。
  • firebase_cli_token : Firebase CLI の認証トークン。

service_credentials_filefirebase_cli_tokenは、アップロード アクションで使用される同じ引数です。

ステップ 5 (オプション)。アプリの最新リリースに関する情報を取得する

firebase_app_distribution_get_latest_releaseアクションを使用して、アプリのバージョン情報、リリース ノート、作成時刻など、App Distribution でのアプリの最新リリースに関する情報を取得できます。ユースケースには、自動的にバージョンを上げたり、以前のリリースからリリース ノートを引き継いだりすることが含まれます。

アクションの戻り値は、最新のリリースを表すハッシュです。このハッシュは、 lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]を使用して利用することもできます。このハッシュで使用可能なフィールドの詳細については、 REST API ドキュメントを参照してください。

パラメーター

firebase_app_distribution_get_latest_release パラメータ
app

Required : アプリの Firebase アプリ ID。アプリ ID は、Firebase コンソールの[一般設定] ページで確認できます。

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

プラグインのログイン アクションを実行するとき (上記の Google アカウントを使用して認証する を参照)、または Firebase CLI を使用して CI 環境を認証するとき (詳細については、CI システムで CLI を使用するを参照) に出力される更新トークン。

service_credentials_file

Google サービス アカウントの json ファイルへのパス。サービス アカウント資格情報を使用して認証する方法については、上記を参照してください。

debug

ブール値フラグ。詳細なデバッグ出力を出力するには、これをtrueに設定できます。

次のステップ

CI/CD を使用して Android アプリを QA テスターに​​配布するためのベスト プラクティスを学びます。