◯はじめに
国家試験対策アプリを50種類リリースしています。介護福祉士、宅地建物取引士、電気工事士など、試験ごとに個別のアプリとして提供していますが、すべて1つのプロジェクトで動いています。選んだ国家試験のデータをスクリプトでアプリに取り込んでビルドし、2つのストアにアップロードする流れです。しかしアップデートのたびに50回同じ作業を繰り返すのは非常に非効率で面白くない作業でした。今回、この作業のいくつかを自動化しましたので、その内容をまとめます。なお、具体的な方法についてはAIの提案をもとに実行したため、詳細は割愛します。
ストアへのアップロードに必要な作業
(Apple・Google それぞれ)
1.アプリのビルド
※ ビルドとは、プログラマーが書いたソースコードをコンピュータが実行可能な形式(アプリ)に変換・組み立てる工程のことです。
2.実機インストール
(必須ではないが確認のため)
3.各ストアへのアップロード
4.アップロードに伴う各ストアのコンソール操作
◯(AIが)作ったシステム
1.iOSアプリ50本を自動でビルド・実機インストール・App Storeにアップロードするシステム
50本で約210分(3時間30分)かかりました。
アップロードについては時間帯により変動が大きい。
2.Androidアプリ50本を自動でビルド・実機インストールするシステム
50本で約100分(1時間40分)かかりました。
3.2でビルドされたAndroidアプリ50本をGoogle Play Storeに自動アップロード・審査に提出するシステム
50本で約30分かかりました。
4.Unityエディタでアプリ50本のスクリーンショットを自動撮影するシステム
50本で約30分かかりました。
ストアの審査にはスクリーンショットが必要です。すべてのシーンを撮影するのは現実的でないため、必須の2シーンのみ撮影する設定にしています。
シーン内にバージョン番号を表示しているため、毎回スクリーンショットの差し替えが必要です。
以前、Appleの審査でスクリーンショットのバージョン番号と実際のアプリのバージョン番号が一致していないとしてリジェクトされたことがありました。もう一方のストアはそこまで厳しくありません。
※ 1のように一括でビルドからアップロードまで実行させた方がいいのか、2・3のように作業を分けたほうがいいのか今後の検討課題です。
◯現在も残る手作業
プラットフォームの仕様上、以下のコンソール操作は引き続き手動での対応が必要です。
App Store Connect(Apple)
1.新バージョンの作成(バージョン番号の新規発行)
2.メタデータの更新
・プロモーション用テキスト
・アップデート内容の記載
3.アップロードされたコードを登録し審査に提出する。
4.スクリーンショットの更新は「毎回」から「必要時のみ」に変更し、作業を削減
※ 50アプリのタブを開いて作業するので1時間半程度かかっています。
Google Play Console(Google)
コードのアップデートのみであれば、特別な対応は不要になりました。
◯まとめ
以前は膨大な手作業が必要でしたが、現在は「テキストをコピー&ペーストしてbashで実行するだけ」という、わずか数クリック相当の操作でここまでの工程を完了できるようになりました。時間短縮にはあまり貢献していませんが、なにより「放っておける」ことが最大のメリットだと実感しています。