個人開発で「作ること」より「公開すること」の方が難しかった
更新
「アプリの審査って厳しいらしい。」
個人開発を始める前は、私もそのくらいにしか考えていませんでした。
ところが、いざ自分でApp Storeに公開しようとしてみると、審査そのものよりも大変だったのが、審査に出すために必要なものを揃えることでした。
今回は、個人開発で実際にアプリを公開してみて、「作ること」と「公開すること」は別の難しさがあると感じたポイントを紹介します。
配信する国によって、考えることが増える
まず考えなければならないのが、どの国でアプリを配信するかです。
当然、配信する国が増えれば、それだけ多くのユーザーにアプリを使ってもらえる可能性があります。
「せっかく作ったのだから、できるだけ多くの国に配信したい」
正確には、どの国でニーズがあるのか?という観点に近いですね。
しかし、配信先を増やすと、ローカライズの対応をすればいいのかというと、そうではないですよね。
例えばプライバシーポリシー。
単純な文章の翻訳だけで済むケースもありますが、配信する地域によっては、その地域の法律や規制を考慮する必要があります。
EU圏を対象にするのであればGDPRを考慮するみたいな感じですね。
アプリの機能によっては、特定の地域で配信するためだけに同意画面の追加や、プライバシーポリシーの追加、データの取り扱いに関する機能追加が増えたりもします。
つまり、
「この国にも配信しよう」
と決めた瞬間に、プログラム以外の仕事が増えることがあります。
特にプライバシーポリシー、利用規約は国によってはものすごく強い効力にもなるので、法律に詳しい人が身近にいると安心です。
スクリーンショットを用意するのが意外と大変
ストアページに掲載するスクリーンショットも、実際に用意してみると結構な作業です。
競合となるアプリのスクリーンショットの調査から始めたんですが、ユーザー目線で「これ分かりやすいな」と思うものほど、アプリのキャプチャ以外の素材が細々必要だったりします。
こういうところはAIに完全に任せられない点でもありますし、AIコーディングでストアにアプリが急増する中で差別化できるポイントだとも思います。
とにかく公開することを優先するなら、最低限のものでもいいのかもしれません。
ただし、No.1などの根拠がない表記や、出所が不明確なデータを使った訴求など、何でも自由に書いていいわけではありません。
実際に他のアプリを見ていると、スクリーンショットの作り方にもかなり工夫があります。
「このアプリは何ができるのか」
「どんな人に向いているのか」
「使うと何が便利なのか」
こうしたことが一目で伝わるように作られています。
結局、競合アプリの良いところを参考にしながら、自分のアプリに合った見せ方を考えることになります。
そして、ここでもう一つ面倒なのが画像サイズです。
App StoreとGoogle Playでは必要になる画像のサイズや比率が異なります。
さらに複数の端末サイズに対応しようとすると、用意する画像が増えていきます。
配信する国が多ければ、多言語対応も必要になります。
つまり、
アプリを作る → スクリーンショットを撮る
だけでは終わりません。
「どの画面を使うか」「何を訴求するか」「どのサイズで作るか」「どの言語にするか」まで考える必要があります。
レイヤーを管理できる画像編集ソフトを使えば、このあたりの作業は多少楽になります。
個人開発者の中にはCanvaなどを使って作っている人もいるようですが、素材を増やしていくと、こうしたストア素材の制作だけでも結構な負担になります。
動画まで用意することがある
ストア公開に必要なのは画像だけではありません。
App Storeでは、アプリの説明文や機能紹介に加えて、アプリの利用シーンを動画として用意するケースもあります。
これも実際に公開しようとして初めて、
「アプリを動かすところまで作れば終わりじゃないんだな」
と実感した部分です。
アプリ本体とは別に、
- どんな機能があるのか
- どんな操作をするのか
- どんな場面で使うのか
を、ストア上で伝えるための素材を用意する必要があります。
アプリ開発というとプログラミングに目が行きがちですが、公開段階になると「見せるための制作」もかなり増えてきます。
テスト用と本番用のビルドを分ける
技術的な部分でも、公開前には考えることがあります。
例えば、テスト用のアプリと、本番環境でユーザーに配布するアプリでは、設定を分けたいことがあります。
APIの接続先だったり、Firebaseなどの設定だったり、広告のテスト設定だったり。
さらにiOSアプリの場合は、証明書や署名などの管理も必要になります。
「アプリが動くものを作る」だけなら、それほど意識しなかった部分です。
しかし、実際に配信するとなると、
開発 → テスト → 本番
という流れを意識して、ビルド環境を整える必要が出てきます。
Macを持っていなかったのでCodemagicを使った
私の場合、アプリを開発していた時点ではMacを持っていませんでした。
そこで利用したのがCodemagicです。
Flutterで開発したアプリをクラウド上でビルドできるサービスで、iOSアプリのビルドにも利用できます。
私の場合は、App Store Connectと連携することで、ビルドからアップロードまでをかなり簡単に行えるようにしました。
また、テスト用と本番用で変数を切り替えることで、ビルド時の設定を変更できるようにしました。
個人開発では、こうした環境構築も自分で考える必要があります。
もちろん、すべてを自前で構築する必要はありません。
むしろ個人開発だからこそ、こうしたサービスを上手く利用して、面倒な部分を減らすことも重要だと思います。
ストア公開時の質問にも悩まされる
そして個人的に意外だったのが、ストア公開時に入力する情報です。
例えば、
「このアプリはサードパーティにデータを送信しますか?」
といった質問があります。
Firebaseを利用している場合などは、単純に「はい」と答えればいいわけではなく、その質問が何を意味しているのかを理解した上で回答する必要があります。
さらに、
「データを収集する」
「データを共有する」
といった似たような表現が出てくることもあり、
「この場合はどっちなんだ?」
と悩むこともありました。
こういうところは、プログラミングの知識だけでは解決できません。
ドキュメントを読んだり、実際に同じところで悩んだ人の記事を探したりする必要があります。
AIに相談するのも便利です。
ただ、こうしたストアの設定や規約に関する問題では、実際に同じ問題に遭遇した人の情報を探すこともかなり重要だと感じました。
検索してみると、自分と同じところで悩んでいる人は意外といます。
「自分だけが分からないのでは?」
と思っていたことが、実は多くの人が一度は悩むポイントだったりします。
「アプリが完成した」と「公開できる」は別だった
こうして振り返ってみると、アプリを作っているときには、
アプリが動けば完成
という感覚があります。
しかし、実際に公開しようとすると、そこからがまた別の作業でした。
配信する国を決める。
必要な法的・プライバシー対応を考える。
スクリーンショットを作る。
説明文を書く。
必要なら動画も用意する。
テスト用と本番用の環境を整える。
証明書や署名を管理する。
ストアの質問に答える。
そして、ようやく審査に提出する。
審査が厳しいかどうか以前に、審査を受けるための準備だけでも、かなりやることがあります。
個人開発を始める前の私は、「アプリを作ること」に一番時間がかかると思っていました。
もちろん、実際にコードを書くことも大変です。
でも、初めてアプリを公開してみて分かったのは、
「作る」と「公開する」は、別の仕事だ
ということでした。
そして、これも個人開発を実際にやってみなければ分からなかったことの一つです。
次にアプリを作るときは、完成した瞬間をゴールにするのではなく、「どうやって公開するか」まで含めて設計しておきたいと思っています。