Firebase App DistributionがApp Bundleに対応したらしいので試してみた(失敗)
先日のGoogle I/OでFirebase App DistributionでのAndoirdアプリの配信でApp Bundle形式での配信に対応したとの発表がありました。今まではapkファイル形式での配信に限られていました。
ちなみにApp Bundleへの対応は2021年の8月以降の新規アプリでは必須の対応となっています。すでにapk形式で配信しているアプリはapk形式での配信は継続できます。
android-developers.googleblog.com
これからはApp Bundleが主流になっていくと思われるので、早速試してみます。
Firebaseのプロジェクトを作成する
Firebase App Distributionを使うFirebaseプロジェクトを作成します。
詳細については以前のブログへの参照としてスキップします。
App Bundleファイルを作成する
今回はAndroid Studioで新規プロジェクトをBasic Activityで作成したものをそのまま使います。
App Bundleファイルの作成はGradle taskのbundleタスクを実行すればよいです。
なおAndroid Studio 4.2からGradle TaskがGradleのビューに出なくなってますが、設定で表示するように変更ができます。
ターミナルで実行する場合は以下のコマンドを実行すればよいです。自分でproduct flavorを定義している場合はbunlde${xxxx}
の形になります。
$ ./gradlew bundle
実行するとapp-debug.aab
、app-release.aab
というファイルがapp/build
配下に生成されます。
$ tree app/build/outputs/bundle app/build/outputs/bundle ├── debug │ └── app-debug.aab └── release └── app-release.aab 2 directories, 2 files
Firebase App Distributionにアップロードする
生成したファイルをFirebase App Distributionへアップロードしてみます。
アップロード画面に行くと以下の注意書きが出てきました。
どうやら開発者登録済みのアカウントでのGoogle Playへのリンクが必要なようです。
開発者登録したアカウントで連携すると無事リンクができましたが、下の方のApp Linkのstatusがオンになりません。
ドキュメントをよく読んでみると、以下の記述がありました。
・The app you upload to Google Play and Firebase must share the same package name.
・The app in Google Play must be in a published state. An app is published when its app store listing has been completed and approved, and the app has been distributed to a following Google Play track: internal, closed, production, or open-testing.
日本語版は以下です。
・Google Play と Firebase にアップロードするアプリのパッケージ名が同じであること。
・Google Play のアプリが公開中であること。「公開中」とは、そのアプリのストアの掲載情報が完成して承認されており、かつそのアプリが Google Play のトラック(内部テスト、クローズド テスト、本番環境テスト、オープンテスト)に配布されていることを言います。
どうやらGoogle Playで公開済みのアプリでないと利用できないようです。ぐぬぬー。
残念ながら私は配信しているアプリを持っていないので検証はここまでしかできませんでした。
Google Play周りの機能を利用するのでGoogle Play側でいろいろ整ってる必要があるようです。なので未公開のアプリを開発版でテスト配信に使う場合はまだまだapkでやる必要がありそうです。
もし業務で利用できる機会があったらまた試してみようと思います。