
FlutterFlowのMobile Deploymentは、App StoreとGoogle Playへのビルド送信を1回の操作で済ませてくれますが、ストア側の画面には「送った後」に踏む落とし穴がいくつかあります。当社の自社アプリ「あとだしジャンケン」をバージョン1.0.1に更新して両ストアへ申請したとき、TestFlightにビルドが届かない、Google Playで製品版へ昇格できない、そもそも前の版がApp Storeに出ていなかった、の3件に当たりました。この記事では、それぞれの原因と対処、再発防止のチェックリストをまとめます。
前提: FlutterFlowからの配信手順
FlutterFlowの設定画面にあるMobile Deploymentで、バージョン名とビルド番号(今回は1.0.1・ビルド3)を指定し、App StoreとGoogle Playの両方に配信します。それぞれのLatest Statusがfinishedになれば、ビルドはApp Store Connect(TestFlight)とGoogle Play Consoleに届いています。ここまでは拍子抜けするほど簡単です。問題はこの先、ストアごとの画面で起きました。
落とし穴1: TestFlightにビルドが届かない(外部テスター扱いだった)
実機で確認しようとTestFlightを開いても、ビルド3が届かず、App Store Connectの表示は黄色の「審査待ち」のままでした。
原因は、メールアドレスで追加した個人テスターが外部テスターとして扱われていたことです。外部テスターへの配布は、新しいバージョンの最初のビルドごとにベータApp審査が必要で、承認されるまで届きません。
対処は、内部テストのグループを作って自分を入れることでした。内部テスターへの配布は審査なしで、すぐにビルドが届きます。iPhoneでボタン位置、ルール文の①②③、結果カード、中断中の画面、4画面の高さの5項目を確認して先へ進みました。外部テストの審査待ちは放置して構いません。
落とし穴2: Google Playで「製品版」に昇格できない
Google Play側では、1.0.1が製品版ではなく内部テストに入っていました。FlutterFlowのGoogle Play Trackの設定がInternalになっていたためです。既定でInternalのことがあるので、配信前にProductionになっているか確認するか、Play Console側で内部テストから製品版へ昇格させます。
ところが、内部テストの「リリースをプロモート」を開くと、「製品版」が灰色で選べません。理由として「トラックにすでに未公開のリリースがあります」と出ました。初回リリースのときに製品版を選んだ時点で下書きが作られており、それが残っていたのです。
対処は、製品版の下書きを直接編集することでした。下書きを開き、バージョンコードが3になっていることとリリースノートを確認して保存すると、「公開の概要」に「製品版 1.0.1」が並びます。あわせてスクリーンショットを差し替えて保存し、2件の変更をまとめて審査に送信しました。
落とし穴3: 前の版がApp Storeに出ていなかった(配信先の国が0)
これが一番の盲点でした。1.0.0はリリース操作まで済ませ、「配信準備完了」の表示も確認していたのに、1.0のページに「App Storeの配信から削除されました」と表示されているのに気づきました。
原因は、「価格および配信状況」の「アプリの配信状況」が未設定(配信する国または地域が0)だったことです。申請時にバージョンのページ(ビルド・文面・スクリーンショット)だけを確認し、配信先の国を確認していませんでした。「配信準備完了」と表示されていても、配信先の国が0ならストアには出ません。
対処は、配信先をGoogle Playと揃えて日本のみに設定。国は後から追加できます。新しいアプリを作ったときは、バージョンのページより先にここを設定しておくべきでした。
再発防止: 申請前とリリース前のチェックリスト
バージョンのページ以外も見る、を仕組みにするため、App Store向けに次の表を作りました。申請の前と、リリースボタンを押す前の2回確認します。
| # | 確認する場所 | 確認すること |
|---|---|---|
| 1 | 収益化 → 価格および配信状況 → アプリの配信状況 | 配信する国または地域が設定されているか(「配信状況の設定」のボタンが出ていたら未設定) |
| 2 | 同じページの価格表 | 価格が設定されているか(無料) |
| 3 | バージョンのページ | ビルド番号、文面、スクリーンショット、リリース方法(手動) |
| 4 | アプリ一覧の上部のお知らせ | 契約の更新など、同意が必要なお知らせが出ていないか |
| 5 | リリース後 | バージョンのページに「App Storeの配信から削除されました」が出ていないか。iPhoneのApp Storeで検索して出るか(反映は最大24時間ほど) |
ハマりポイント(細かいもの)
- Play Consoleのメニュー名は時期で変わる: 手順書どおりの名前が見つからないことがあります。迷ったら上部の検索欄で「ストアの掲載情報」などを探すのが早いです。ストアの掲載情報は「ユーザーを増やす」の下にあります。
- App Storeの対応言語が「英語」になっていた: FlutterFlowのSettings → Languagesが未設定だと、生成コードの対応言語が
enだけになり、ストアのページに「言語: 英語(EN)」と出ます。Japaneseを追加してPrimary / Display LanguageをJapaneseにすると、生成コードはLocale('ja')になります。ただしストアの表示が変わるのは、この設定を含むビルドを公開してからです。 - 両ストアの承認時間は違う: App Storeは1〜2日、Google Playは数時間〜数日が目安でした。当初は「承認後に同じタイミングで公開」の予定でしたが、Playが先に承認されたため、Playを先行公開する判断に変えています。App Storeは手動リリースにしておくと、承認後にチェックリストを見てから自分のタイミングで出せます。
まとめ
FlutterFlowのワンクリック配信で楽になるのは「ビルドを届ける」ところまでで、テスターの種別、Playのトラック設定と下書き、App Storeの配信先の国は、ストアの画面で自分で確認する必要があります。特に配信先の国が0のまま「配信準備完了」と出る件は、気づかなければ公開したつもりで誰にも届きません。バージョンのページ以外を見るチェックリストを、申請の手順に組み込んでおくことをおすすめします。
FlutterFlowを使ったアプリ開発やストア公開までのご相談は、お問い合わせフォームからどうぞ。
← TECH-BLOG一覧へ