【Android/Fastlane】Firebase App Distributionと連携して配布の自動化
この記事からわかること
- Android Studio/KotlinでFastlaneでFirebase App Distributionと連携する方法
- ビルドから配布までを自動化するには?
- firebase_app_distributionブロックのパラメータ一覧
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Android Studio:Koala
- Kotlin:1.9.0
- Gradle:8.7
- java:17.0
- macOS:Sonoma 14.6.1
FastlaneでFirebase App Distributionへのアップロードを自動化する方法
AndroidアプリをFastlaneを使用してFirebase App Distributionへのアップロードを自動化していきたいと思います。AndroidプロジェクトへのFastlane自体の導入は以下の記事を参考にしてください。
実際にアップロードするためには以下の状態である必要があります。条件を満たしていない場合は先に条件を満たすようにしてください。
前準備
- Androidプロジェクトの作成
- Firebaseプロジェクトの作成と1との連携
- AndroidプロジェクトにFastlaneを導入済み
- Firebase CLIが導入済み
FastlaneにFirebaseプラグインの追加
まずはFastlaneにFirebaseプラグインを追加する必要があるので以下のコマンドを実行しておきます。
$ bundle exec fastlane add_plugin firebase_app_distribution
// fastlane はパス '/Users/ユーザー名/Desktop/AndroidApp/プロジェクト名/Gemfile' の Gemfile を変更しますか
Should fastlane modify the Gemfile at path
'/Users/ユーザー名/Desktop/AndroidApp/プロジェクト名/Gemfile' for you? (y/n)
// Y Enter
// 成功
Successfully installed plugins
App Distributionへのアップロード
Fastlane内でApp Distributionへアップロード処理を行うのはfirebase_app_distribution
ブロックです。パラメータには最低限アップロード対象のアプリIDとテスターなどを指定します。
アプリIDはFirebaseのプロジェクトの「歯車マーク」>「プロジェクトの設定」>「全般」>「Androidアプリ」から確認することができます。
platform :android do
desc "App DistributionにリリースAPKファイルを自動アップロードする"
lane :distribution_release_apk do
# クリーンビルドしてリリースAPKを作成する
gradle(task: "clean assembleRelease")
# Firebase App Distribution
firebase_app_distribution(
# Firebaseに記載されているアプリID
app: "1:123456789:android:abcd1234",
# 配布したいテスター一覧
testers: "sample@sample.com, sample2@sample.com",
# リリースノートに記述したい内容
release_notes: "リリースノートに記述したい内容"
)
end
end
これで準備が整ったのでレーン名のdistribution_release_apk
を実行すればクリーンビルドしてFirebase App DistributionにAPKをアップロードし、指定したテスターにアプリを配布することができます。
$ bundle exec fastlane distribution_release_apk
firebase_app_distributionのパラメータ一覧
firebase_app_distribution
ブロックで指定できるパラメータ一覧は公式リファレンスに記載されています。
公式リファレンス:ステップ 3. Fastfile を設定してアプリを配布する
firebase_app_distribution のパラメータ | |
---|---|
app | 必須:FirebaseアプリID |
firebase_cli_token | CI環境を認証するときに出力される更新トークン |
service_credentials_file | GoogleサービスアカウントのJSON ファイルのパス |
android_artifact_type | APK or AABのファイル形式を指定 |
android_artifact_path | アップロードする APK or AAB ファイルの絶対パス |
release_notes release_notes_file |
リリースノート リリースノートの内容を記述したファイルのパス |
testers testers_file |
テスターのメールアドレス(複数はカンマ区切り) メールアドレスのリストを記述したファイルへのパス |
groups groups_file |
テスターグループ名(グループエイリアスで指定/複数はカンマ区切り) グループリストを記述したファイルへのパス |
debug | ブール値のフラグ。true に設定すると詳細なデバッグ情報が出力されます。 |
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。