まとめ
- PCとネットだけでは無理 (ストアに公開するなら)
- 登録料がかかる (Androidは初回、Apple系は年間払い)
- 本人確認書類等が必要 (免許証、パスポート、マイナンバーカードなど)
- Android は2023年からアプリをテストしてくれる12人を集めるのが必須化
- Android は収益化(広告、課金)する場合は住所氏名がストアで公開される
- Apple系は開発に Mac が必要
- スマホ・Windows でとりあえず作るなら「WebでPWAアプリ」がおすすめ
– – – – – –
スマホアプリ開発といえば、iPhone が出たばかりの頃に持てはやされたように、ゲームやちょっとしたユーティリティ系アプリで人気になって稼ぐ……というイメージがあるかもしれません。
昔は昔で本当に資料もなにもなく大変でしたが、一方で今もそこまで簡単になったわけではなく、むしろ権限の制約や対応デバイスや考慮しなければならない環境が増え、さらにアプリリリースという「手続き」の煩雑化もあり、残念ながら決して簡単ではないのが実情です。
私自身、スマートフォン向けのアプリ開発のノウハウをしっかり記録したかったのでまとめてみました。(企業サイトにありがちな外注や開発依頼に誘導する内容ではないのでご安心ください)
– – – – – –
目次
はじめに: 現在のアプリ開発の最適解
最初に結論を申し上げると、現在スマホアプリ開発なら「PWA対応のWebアプリ」がおすすめです。
(PWAとはネイティブアプリのように動くWebページだと思ってください。作り方はAIにでも聞いてください)
これから長~~くスマホ向けストアアプリ開発とリリース(公開)に必要な手順を解説しますが、手順を考えると「いいアプリのアイディアを思いついたので、サクッと作って公開したい!」くらいのレベルではスマホアプリはコスパ・タイパに見合いません。今はブラウザ系かC#(.NETまたはUnity)がおすすめです。
- HTML, CSS, Javascript など
- ブラウザ(Webサイト)の標準です。デザインや機能的ノウハウがネットにたくさん情報があるので検索性が高いです。
- Electron
- Teams, Obsidian などのアプリがこれで作られているという話です。Chromium ベースで実質ブラウザアプリです。
少し動作が重いですがマルチプラットフォーム展開が非常に簡単です。
- Teams, Obsidian などのアプリがこれで作られているという話です。Chromium ベースで実質ブラウザアプリです。
- C#
- Windows デスクトップ向けには .NET + WPF, ゲームには Unity を使います。
C系列で使いやすいのとC++ほどではないですがネイティブパフォーマンスやWin32APIへのアクセスも優秀です。 - Visual Studio による開発支援が非常に強力で、C#.NET の設計も優秀なので極めて開発効率が高い環境です。
- Windows デスクトップ向けには .NET + WPF, ゲームには Unity を使います。
デベロッパー登録をする
基本的に、Android でも iPhone でもアプリをストアに公開するなら、開発者としてアカウントを登録しなければなりません。本当にただ手元の端末だけでアプリを動かしたいなら別ですが。
この開発者登録が曲者で、基本的に有料です。また、本人確認を求められたり諸々やるべきことをやってリリース完了まで1ヶ月近くかかるので、流行りもののイメージとは裏腹にスマホアプリのリリースにライブ感やスピード感はなく、PCやWebのほうが圧倒的に早いです。
– – – – – –
アプリの審査
これは昔から言われていますが、基本的にアプリストアでのリリースでは「審査」が行われます。マルウェアなどの悪質なものでないか?個人情報を抜き取っていないか?以外にも、ちゃんとクラッシュせず動作するか?などの確認も含まれます。いざ審査時に苦労すると大変なので、開発段階から以下のリストをチェックしておきましょう。
- クラッシュ頻度が高すぎないか
- プライバシーポリシーの明記があるか
- 実は権限で「インターネットアクセス」を指定してなくても、基本的に任意のサイトにアクセスできます。そのため、開発者にそのつもりがなくてもプライバシーポリシーはどこかに配置してください。(このアプリは個人情報を収集せず勝手に送信しません、くらいの簡単な文言でもOK)
- 権限の設定は適切か?過剰すぎないか
- NGワードやEU規制、アメリカ法に違反していないか
- すでに似たようなアプリがないか
- 既存の下位互換みたいなアプリはまず通りません。差別化ポイントがあるならどこがどう具体的に違うのか言語化してください。
- 粗雑で品質が低くないか
- 実は結構リジェクト理由で最近多くなってきているようで、いかにも個人の素人感あるアプリをどのストアも弾くようになってきています。(一方で Microsoft のストアアプリは一時期その方針でしたが、あんまりにも下火すぎたので最近は緩めだと思います)
- デザインガイドラインに則っているか
- 画面上へのオーバーレイ、システム領域へのアクセス、システム機能のオーバーライド、通話の録音や特殊な込み入った機能 (Android)
- 昔のバージョンでは可能でしたが、最近ではセキュリティを名目にそもそも作れないことが多いです。
- アカウント前提のアプリの場合、審査用にデモアカウントを用意しているか
- 何かのコピーアプリではないか
- アイコンやスクリーンショットで著作権などを侵害していないか
- スパムではないこと
- マルウェア、スパイウェアなどではないこと
- 使用しているSDKや広告に悪意のあるコードが仕組まれていないこと
- 個人情報を抜き取ってサーバーに送信するなどがないこと
……などなど、基本的には審査項目に明示はされているものの、思っている以上にしっかり審査されるので審査ガイドラインは読み込みましょう。
昔と違って無法地帯ではないものの、その分手続き的でスピーディーなアジャイル感はなく「とりあえず作って試す」「流行りものに乗っかる」「新しい技術やAIをすぐにアプリ化する」というのは難しくなりました。そしてデバイス自体の性能は上がっているものの、ファイルアクセスへの制限やシステムまわりのアクセス制限、そもそも root (管理者) 権限の取得が難しいため、そういった込み入った上級者向け機能の実装は Android / Apple系ともに現状では無理です。となると、わざわざネイティブアプリである意味もなくなりますよね。
– – – – – –
アプリストアでの登録と審査の手順
Android, Apple で細かい差分はありますが、基本的に以下の手順です。
- 開発者登録する
- デベロッパー販売 / 配布契約に同意する
- 個人/法人の選択
- 本人確認
- 登録料を支払う
- アプリにデジタル署名し、証明書キーを発行する
- テストする
- スクリーンショットや説明文などを用意
- 審査提出
- 審査待ち
- 差し戻しされた場合は修正して再提出
- リリース
※Apple 系について、Mac は開発者アカウントがなくてもデバッグ可能ですが(もちろん個人サイト等で一般公開もできます)、Apple系でもモバイル系は開発者アカウントがないとデバッグすらできないので気をつけてください。
Android での登録と審査手順
Google Play Console デベロッパー アカウント
大まかな流れなどは↑を参照してください。ただし、Android かつ個人の場合、
(個人アカウントのみ)ステップ 6: テスト要件とデバイス確認要件を満たす
という要件が入ってくるので注意してください。
法人の場合、
- D-U-N-Sナンバーや登記簿謄本などの情報
- 電話番号など
- 080~ は +8180~ などと記載します。
- 本人確認書類
- 本来は代表(社長)のものを使うべきです。(役員や担当者にすると、当人が辞めると移管しないといけません)
が必要です。
登録料
2025/07/26 時点では 25 USドル なのでおおよそ4000円あれば足ります。この登録料は1回きりですが審査に落ちたり、後述のテスターが集まらない等でも返金されないので気をつけてください。
テスターの募集
Android アプリの個人でのリリースでもっとも厄介なのは、2023年頃以降の新規登録者から必須化された「テスター」についてです。
なんとアプリをテストするボランティアのテスターを12人も用意し、さらに14日間(2週間)インストールされたまま使ってもらわないといけません。
個人開発者は必須ですが法人は免除です (普通逆だと思いますが)。マイクロソフトでもそこまではやらなかったのに……。
Google のサイトでは友人や家族に協力してもらって~と書いてありますが、条件があります。
- Android であること。当然ですが iPhone ユーザーには依頼できません。もうこの時点で厳しいですね。
- 端末とOSバージョン要件を満たしていること。結構古い6~10とかのバージョンを使っている人も多いです。
- 協力的であること。忘れがちですが、面倒がったりする人はいます。
- ベータ版を入れれる知識のある人。いつものストアからではなく専用のリンクから英語のページを読んでインストールします。
- 14日間アンインストールしない。間違って使わないから・終わったからとアンインストールされると1からやり直しです。
- フィードバックしてくれること。
つまるところ、ユーザーを揃えるのがかなり難しい上にフィードバックをきちんともらわなくてはならず、仮に人数を揃えたとしても少なくとも14日間はリリースできないことになります。
その上で人数を揃えるのであれば、一応専用の Discord サーバーが有志の手で用意されていますので↓の招待リンクから参加するのもいいと思います。(本当に使ってくれるので自分では気付かないポイントも知れます。本気でリリースするならおすすめです。)
https://discord.com/invite/A2p3q6b5CC
※サイト:
https://note.com/gomorepython/n/ndb41cef70d95
⚠ 注意
これとは別の、月額料金を取る Discord グループもあるようですがそちらとは違うのでご注意ください。
SNSや掲示板、Youtube、いるならオフラインのつながりのほうがいいでしょう。場合によってはココナラなどで有償で募ることになりますが、無料アプリならここにお金かけるのは本末転倒な上に本当にただテスター数の要件を稼ぐだけでフィードバックはもらえません (審査に落ちてもお金は帰ってきません)。
これはアプリの品質向上を目的といいますか、素人っぽいアプリを排除したいというのが本音でしょう。なぜそんなにクリーンにしたがるのかは不明でおそらく潔癖症なのかとは思いますが……。マイクロソフトがストア立ち上げ期にそこにこだわって失敗してモバイルOSそのものを諦めた歴史がある上、せっかく Material Design などを整えたのに全体としては逆方向に向かっている気がします。
なお「新規登録者」なので2023年以前の開発者アカウントがあればそれを使用するなども可能だと思いますが、適用拡大などのさじ加減は Google 次第です。
いち早くこの制度がなくなることを祈っています。
もし個人事業主としてDUNS番号を取得しつつやる場合は、後述の「個人事業主」の欄もご覧ください。)
Apple 系での登録と審査手順
登録には Apple アカウントを作った上で開発者アカウントを登録します。
https://developer.apple.com/jp/programs/enroll
Apple系(iOS, iPadOS, macOS, watchOS, tvOS, … etc. と多いのでまとめてます) は比較的ハードルが高いので気をつけてください。
- Mac が必ず必要
- Apple Developer Program の登録には TouchID, FaceID 等のある新しいデバイスか、2018年以降のT2セキュリティチップ搭載またはMプロセッサ以降の Mac が必要
- XCode という開発アプリが必要 (これは無料)
- 登録料は「年間で99米ドル」
- 本人確認書類が必要
基本的にまず Mac がないと始まりません。これはないと苦労するとかではなくそもそも Windows 等では作れない、という意味です。Xamarin/MAUI やその他クロスプラットフォーム対応の開発環境はありますが、デバッグやアプリのパッケージ作成環境が Mac の実機以外用意されていないので本体を買うしかありません。
中古で古い Mac を揃えようと思ったそこのあなた!残念ながらNGです。登録要件に新しめのデバイスが含まれているため、買ってもしょうがありません。
また、登録料でもお分かりかと思いますが iOS等のApple系で「完全無料」というのは常に赤字操業となるため相当厳しいです。Mac なら自サイトでの公開なども可能ですが、Apple なら潰してきそうな気がしないでもないのが嫌なところ……。
そのため、「わざわざMac買うほどでもないけど手元の iPhone で動けばいい」「みんながそれっぽく使えればそれでいい」というなら繰り返しになりますがWebアプリ(PWAアプリ)として作るのがおすすめです。(通知やAIエージェント、API引っ張るくらいならWebのほうがむしろ簡単かも?)
登録料
Apple Developer Program は個人の場合年間99米ドルで、およそ15000円/年です。法人の場合は299米ドルです。
テスト
Apple 系もテスト人数等の制限はないものの、審査に関わるためある程度はしたほうがいいでしょう。β版の実施については Apple では TestFlight という仕組みが用意されています。専用のアプリのダウンロードは必要になりますが、一元管理できるシステムとなっています。
– – – – – –
おまけ: 個人事業主としてのリリース
Google Play において個人事業主のビジネスアカウントとして登録する場合は、↓のPDFのやり方となります。(GPTに作ってもらったので多少の粗はご了承ください)
アプリのリリース
アプリのアイコンやスクリーンショット、説明などを入力し審査後、完了するとようやく正式にアプリリリースとなります。審査の過程で年齢制限の規制(ESRBなど)を行うかと思いますが、年齢制限自体は特に問題はないと思います。
審査は意外としっかり行われており、リジェクトされた際は「アプリの審査」の項目を確認し、審査コメントをよく確認してください。
審査が通れば晴れてリリースです。正直アプリ開発そのものよりストア関連のプロセスのほうが時に長い気がしますが、ここまで踏まえてそれでもストアでリリースしたいならこのページが参考になれば幸いです。
– – – – – –
[…] アプリ編の記事があるのでそちらも参照。https://bibohlog.ltt.jp/?p=1099 […]