35
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】アプリをリリース、運営するまで

35
Last updated at Posted at 2024-12-21

はじめに

初めまして。YOKKO(よっこ)と申します。
iOS、Android、Webアプリを個人で10以上運営しています。

本記事では個人開発アプリをリリースするまでにやったことやサービスを運営する上での苦労話、どのようにマネタイズしているのかなどをご紹介していけたらと思います。
気になる項目だけでも見ていっていただけたら幸いです。

どんなサービスを作ってるの?

諸々の事情で具体的な内容は伏せるのですが、イベント情報をまとめたキュレーション兼口コミのサービスなど、10以上のサービスを個人で開発・運営しています。

まず何から始めたの?

サービスをリリースするにあたって、ユーザーに利用してもらわなければ意味がありません。そのため、アプリを開発する前に、まずは需要があるかを簡単に調査しました。身近な人に「こんなアプリがあったら便利だと思う?」と意見を求めたりして、一定の需要が見込めることを確認したうえで開発に着手しました。

また、運営するサービスは自分が興味のあるジャンルにすることが非常に重要だと感じています。なぜなら、モチベーションが続かないとサービスも続かないからです。
私自身、過去にいくつか個人でアプリを開発しましたが、興味のないプロダクトに対しては、開発が思うように進まず、途中で挫折してしまうことがありました。
反対に、自分が情熱を持てるジャンルのサービスであれば、ユーザーの反応が励みになり、継続して取り組むことができます。

技術スタックやサービス運営で使っているツールは?

下記のようなツール、サービスを使っています。バックエンドは基本的にFirebaseに任せることでスピーディな開発を実現しています。

技術スタック

・iOS/Androidアプリ: Flutter(以前はiOSをSwiftで開発していましたが、Flutterにフルリプレースしました)
・Webアプリ:Next.js
・データベース:Firebase FirestoreFirebase Realtime Database
・認証:Firebase Authentication
・ストレージ:Cloud Storage for Firebase
・分析:Firebase AnalyticsVercel Web Analytics
・クラッシュ解析:Firebase Crashlytics
・Push通知:Firebase Cloud Messaging (FCM)
・デプロイ・ホスティング:Vercel
・ソースコード管理:GitHub
・AIコーディング:Claude CodeOpenAI Codex
・開発エディタ/統合開発環境:AndroidStudioVSCode
・メールサーバー:さくらのメールボックス
・ドメイン:お名前.com

運営ツール

・問い合わせ対応:formrun
・運営上の諸々情報管理:スプレッドシート

リリース前に準備しておくこと

アプリの開発が完了してからいきなりストアに提出しようとすると、意外と準備不足で手が止まることが多いです。ここでは、リリース前に済ませておくべき準備について紹介します。

プライバシーポリシーの作成

App StoreでもGoogle Playでも、アプリを公開するにはプライバシーポリシーのURLが必須です。
「プライバシーポリシーってどうやって作るの?」と思うかもしれませんが、個人開発であれば以下のような方法で作成できます。

  • 自分のWebサイトに掲載する:独自ドメインのサイトがあれば、そこにHTMLページとして公開するのがベストです。
  • GitHub Pagesを使う:無料でホスティングできるので、Webサイトを持っていない場合にも手軽です。
  • プライバシーポリシージェネレーターを使う:「アプリ プライバシーポリシー ジェネレーター」で検索すると、テンプレートから生成できるサービスがいくつか見つかります。

記載すべき内容としては、収集するデータの種類、利用目的、第三者提供の有無、問い合わせ先などが基本です。Firebase AnalyticsやAdMobを利用している場合は、その旨も明記しておきましょう。

ストアリスティング素材の準備

App StoreやGoogle Playにアプリを登録する際に、以下の素材が必要になります。事前に用意しておかないとリリースが遅れる原因になります。

  • アプリアイコン:1024×1024pxの高解像度アイコンが必要です(iOS/Android共通)。角丸やマスク処理はOS側で行われるため、正方形で作成します。
  • スクリーンショット
    • iOS:最低でも6.7インチ(iPhone 15 Pro Max等)と5.5インチ(iPhone 8 Plus等)のサイズが必要です。iPadに対応している場合は12.9インチも必要です。
    • Android:最低2枚、最大8枚。スマートフォンのスクリーンショットが必須です。
  • アプリの説明文:アプリの機能や特徴を簡潔にまとめた文章を用意します。
  • キーワード(iOS):App Storeでの検索に使われるキーワードを100文字以内で設定します。
  • フィーチャーグラフィック(Android):Google Play のストアページ上部に表示される1024×500pxの画像です。

iOS:証明書とProvisioning Profileの作成

iOSアプリのリリースで初心者が最もハマりやすいのがこの工程です。

  1. Apple Developer Programに登録したら、Apple Developerのアカウントページにアクセスします。
  2. Distribution証明書の作成:Macの「キーチェーンアクセス」から証明書署名要求(CSR)を作成し、Apple Developerサイトでアップロードして証明書を取得します。
  3. App IDの登録:アプリのBundle Identifierを登録します(例:com.yourname.appname)。
  4. Provisioning Profileの作成:Distribution証明書とApp IDを紐づけたProvisioning Profileを作成し、ダウンロードしてXcodeに登録します。

なお、Xcodeの「Automatically manage signing」を使えば、開発用の証明書やプロファイルは自動で管理してくれます。ただし、リリース用のDistribution証明書は手動で管理することをオススメします。証明書の紛失やMacの買い替え時に困らないよう、証明書(.p12)は必ずバックアップしておきましょう。

Android:署名鍵(Keystore)の作成

AndroidアプリをGoogle Playに公開するには、署名鍵(Keystore) が必要です。

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

上記のようなコマンドで作成できます。作成時に設定するパスワードやエイリアスは忘れないように記録しておきましょう。

重要:Keystoreファイルは絶対に紛失しないでください。 紛失するとアプリのアップデートが一切できなくなります。安全な場所にバックアップを保管しましょう。なお、Google Play App Signingを利用すれば、Googleがアプリの署名鍵を安全に管理してくれるため、現在はこちらの利用が推奨されています。

リリースまでの流れは?

iOSアプリのリリース

※FlutterでiOS/Androidアプリを開発している場合の手順です。

  1. Apple Developer Program に登録
    Apple Developer Program(年額 $99)に登録します。
    ※法人アカウントの場合、D-U-N-S番号が必要です。
  2. アプリ開発
    アプリをせっせと開発します。
    • バグを潰しておいたり、App Reviewガイドラインを遵守することで、後続の審査通過率が高まります。
  3. App Store Connect にアプリ情報を登録
    App Store Connectにアプリ名、説明、キーワード、スクリーンショットなどを登録します。
    • プライバシーポリシーのURLが必須のため、事前に作成してどこか見れる場所にアップしておく必要があります。
  4. アプリを App Store Connect にアップロード
    • Xcode からアーカイブし、App Store Connect にビルドをアップロードします。
  5. TestFlightでテスト配信(推奨)
    • いきなり審査に出すのではなく、まずはTestFlightを使って実機でテストすることを強くオススメします。
    • TestFlightでは最大10,000人の外部テスターにアプリを配信でき、実際の端末での動作確認やフィードバック収集が可能です。
    • TestFlightでの配信にも簡易的な審査がありますが、本審査より早く通ることが多いです。
  6. アプリを Apple に審査提出
    App Store Connectで審査リクエストを送信します。
    App Reviewガイドラインを守っていないとリジェクト(却下)されますが、めげずに修正を繰り返して審査通過を目指しましょう。
    • 審査期間は通常1〜3日程度ですが、混雑状況によって前後します。
  7. 無事に審査が通ったらリリース
    App Store Connectでリリース済みになっていてもApp Store上は反映まで最大24時間ほどかかることがあるので気長に待ちましょう。

Androidアプリのリリース

  1. Google Play Developerアカウントに登録
    Google Play Developer登録料 1回限り$25)に登録します。
    ※法人アカウントの場合、D-U-N-S番号が必要です。
  2. アプリ開発
    アプリをせっせと開発します。
    • バグを潰しておいたり、Google Play ポリシーセンターを遵守することで、後続の審査通過率が高まります。
  3. アプリ情報をGoogle Play Consoleに登録
    • アプリ名、説明、スクリーンショットを登録します。
    • プライバシーポリシーのURLが必須のため、事前に作成してどこか見れる場所にアップしておく必要があります。
  4. リリース用のAABを作成してアップロード
    • リリースビルドを作成し、Google Play Console にアップロードします。
    • 2021 年 8 月より、Google Play での新規アプリの公開は AAB(Android App Bundle) で行う必要があります。APKでの公開は出来なくなりました。
  5. 内部テスト / クローズドテストで動作確認(推奨)
    • Google Play Consoleには「内部テスト」「クローズドテスト」「オープンテスト」のトラックがあります。
    • まずは内部テストトラックにアップロードして、実機での動作確認を行いましょう。内部テストは審査不要ですぐに配信でき、最大100人のテスターに配布可能です。
    • なお、新規アカウントの場合、本番リリース前にクローズドテストで20人以上のテスターを集め、14日間以上テストを実施する必要があります。 この要件を満たさないと本番公開の申請ができないため、早めに準備しましょう。
  6. アプリを審査に提出
    Google Play Consoleで審査リクエストを送信します。
    Google Play ポリシーセンターを守っていないとリジェクト(却下)されますが、めげずに修正を繰り返して審査通過を目指しましょう。
    • 初回の審査には数日〜1週間程度かかることがあります。2回目以降は比較的早くなります。
  7. 無事に審査が通ったらリリース
    Google Play Consoleでリリース済みになっていてもGoogle Play上は反映まで最大24時間ほどかかることがあるので気長に待ちましょう。

Webアプリのリリース

※Next.jsで作成したアプリをVercelでデプロイする場合についてです。

  1. ドメインを取得
    • 自分のアプリやサービスに合ったドメイン名を決め、お名前.comなどのドメイン取得サービスでドメインを取得します。
    • 年間の使用料が必要です(一般的に¥1,000〜¥3,000程度)

  2. アプリを開発
    アプリをせっせと開発します。

  3. ソースコードをGitHubに登録
    • GitHubで新しいリポジトリを作成します。
    • リポジトリ名はアプリ名やプロジェクトに関連する名前にします。
    • アプリのソースコードをGitHubにプッシュします。

  4. Vercelで公開
    Vercelにてアカウントを作成します。商用利用する場合はProプランを選択します。
    • Vercelダッシュボードで「New Project」を選択し、GitHubアカウントを連携します。
    • 公開したいリポジトリを選択してインポートします。
    • 「Deploy」をクリックすると、Vercelが自動でビルドとデプロイを行います。
    • 数十秒後に自動で生成されたドメイン(例: your-app.vercel.app)で公開されます。

  5. カスタムドメインを設定
    • VercelダッシュボードでDNS設定やSSL証明書の設定などを行い、カスタムドメインを設定します。

  6. 公開後の確認
    • カスタムドメインで正しくアプリが表示されるか確認します。


iOSアプリやAndroidアプリはApple、Googleの審査が必要になるため、リリースまでに余裕を持った準備をする必要があります。

法的な準備

アプリをリリースする上で、法的な対応も避けて通れません。特に以下の点は事前に確認しておきましょう。

アプリ内課金がある場合:特定商取引法に基づく表記

日本でアプリ内課金(サブスクリプションや買い切り課金)を提供する場合、特定商取引法に基づく表記が必要になります。
販売者の氏名(または名称)、所在地、連絡先などを明示する必要があります。個人開発の場合、自宅住所の公開に抵抗があるかもしれませんが、「請求があった場合に遅滞なく開示する」という記載でも対応可能なケースがあります。詳しくは消費者庁のガイドラインを確認しましょう。

App Tracking Transparency(ATT)への対応

iOS 14.5以降、広告のためにユーザーのトラッキングを行う場合は、ATT(App Tracking Transparency) の許可ダイアログを表示する必要があります。
AdMobを利用する場合はこの対応が必須です。Flutterではapp_tracking_transparencyパッケージを使って実装できます。
また、App Store Connectでアプリのプライバシー情報を正確に申告する必要があります。どのデータを収集しているか(Analytics、広告ID等)を正しく設定しましょう。

利用規約の作成

必須ではありませんが、サービスの利用規約を作成しておくことを推奨します。ユーザーとのトラブルを未然に防ぐために、禁止事項やサービス終了時の対応、免責事項などを定めておくと安心です。

サービスを続けるためにどのような学習をしているの?

個人でサービスを運営し続けるためには、日々の学習が欠かせません。技術的なスキルアップだけでなく、サービス運営やユーザー対応についても学ぶ必要があります。私が実践している学習方法や活用しているリソースについてご紹介します。

1. Udemyや書籍での基礎学習

開発初期において、まずは開発スキルを磨くために、Udemyや書籍で学習をしていました。
特に以下のような分野を重点的に学習しました:
• iOS開発(Swift、UIKit、SwiftUIなど)
• クロスプラットフォーム開発(Flutterの基本から応用まで)
• Webフレームワーク(Next.jsやReactの実践的な講座)
• Firebaseの活用法(FirestoreやCloud Functionsの効率的な使い方)

Udemyの講座は定期的にセールを行っており、80-90%offになることもあるのでその時に買うのがオススメです。

2. noteやブログ記事の活用

最新の技術トレンドや実践的なノウハウを学ぶために、noteやブログも参考にしています。
特に私がおすすめるのはアプリマーケティング研究所です。
様々なアプリの事例を交えながら実践的なノウハウを学ぶことが出来ます。

3. 開発者コミュニティへの参加

一時期、開発者向けのオンラインコミュニティにも参加していました。
コミュニティの参加者同士で不明点をすぐに解消できたり、同じように個人開発をしている人の考えや工夫を知ることができたので、結構オススメです。

4. 実践からの学び

実際にサービスを運営する中で、以下のようなスキルや知識を日々アップデートしています
• Google AnalyticsやFirebase Analyticsの活用:ボタンタップや画面表示などのデータなどを分析して、使われている機能、使われない機能などを把握するようにして機能改善に繋げています。
• 新しい技術の導入:開発効率を高めるためのライブラリやツールを日々試しています。最近はClaude CodeOpenAI CodexなどのAIコーディングツールを活用し、開発速度を大幅に向上させています。

アプリ開発、運営にかかる費用はどれくらい?

開発自体は自分で行うので0円として、各種サービス利用にかかる合計金額は年間で約28万円ほどです。
※生成AIに課金しなければ10万円程に抑えられます。

内訳は下記となります。

サービス名 料金(年間) ※2026/3月時点
Apple Developer Program 14,850円($99)
Google Play Developer Program 3,750円($25) ※初回の1回限り
さくらのメールボックス 1,320円
お名前.com 3,000円
Google Cloud (Firebase等) 42,000円 ※1サービスの2025年実績
Claude Max 180,000円($1,200)
Vercel 36,000円($240)
合計 280,920円

なお、上記のGoogle Cloud費用は私が運営している10以上のサービスのうちの1つのみの実績です。実際には各サービスごとにGoogle Cloudプロジェクトが存在するため、全サービス合計ではこれ以上の費用がかかっています。サービス規模や利用するGoogle Cloudサービスに応じて料金は大きく変わってきます。参考までにそのサービスのFirestoreの使用量(30日間)としては下記の通りです。
スクリーンショット 2026-03-12 13.34.59.png

Blazeプランというもので契約をしていますが、無料枠を超えた分だけ従量課金されるため、下記の無料枠を超えるまでは料金がかからず、かなり安く済んでいます。

サービス名 無料枠 ※2026/3月時点
Firestore (Cloud Firestore) 書き込み:20,000 回/日
読み込み:50,000 回/日
削除:20,000 回/日
ストレージ容量:1 GiB
ネットワーク帯域:10 GiB/月
Authentication メール、ソーシャル、匿名、カスタム:50,000 MAU
SAML、OpenID Connect:50 MAU
Firebase Cloud Messaging (FCM) 無料
Firebase Crashlytics 無料
Firebase Analytics 無料
Cloud Storage GB(保存):5GB
GB(ダウンロード):1GB/日
アップロード操作:2回万/日
ダウンロード操作:5 万回/日

どのようにマネタイズしているの?

マネタイズについては広告収益とサブスクリプション会員の2つがメインとなっています。

  1. 広告収益(AdMob)
    Google AdMobGoogle Adsenceを利用してモバイル/Webアプリに広告を表示することで、ユーザー数に応じた収益を得ています。

  2. サブスクリプション会員
    ユーザーに月額や年額で料金を支払ってもらい、追加の価値や特典を提供することで収益を得ています。
    具体的には、広告を非表示にしたり、サブスク会員のみ利用可能な機能を提供しています。

現状では、主に個人ユーザー(ToC)向けの収益モデルが中心ですが、今後は企業向けの販促ツールとして活用できる仕組みを整え、ToBのマネタイズ方法も検討しています。これにより、収益の多様化と安定化を目指しています。

個人で開発、運営する上で苦労することは?

苦労している点はいくつかあります。

1.実現したい機能に開発が追いつかない。

10以上のサービスを3つのプラットフォーム(iOS/Android/Web)向けに開発を行っているため、どうしても開発が追いつかないことがあります。
Claude CodeOpenAI CodexなどのAIコーディングツールを活用することで開発速度は大幅に向上しましたが、それでも平日・土日を問わず、空いた時間を見つけては実装作業に取り組んでいます。アプリ開発はリリースして終わりではなく、日々のアップデートを継続しなければ、ユーザーが離れてしまう可能性があります。そのため、社会人をしながら個人開発を行う場合、それ相応の覚悟が必要です。
個人で複数のプラットフォームでのアプリリリースを検討している方は、最初からクロスプラットフォームのフレームワーク(例: FlutterやReact Native)の活用を強くオススメします。私も当初はiOSをSwiftで開発していましたが、Flutterにフルリプレースしたことで開発効率が格段に向上しました。

2.問い合わせ対応が大変

サービスを運営している以上、ユーザーや企業から問い合わせが来ることもあります。
メールで問い合わせが来ると、もしかしたら見落としてしまうことがあるかもしれません。
以前はメールで問い合わせ対応を行っていましたが、毎日メールを確認する手間が大きく、対応漏れを防ぐために気を張る必要がありました。
現在は、formrunを導入し、問い合わせ内容を一括管理する仕組みに移行しました。その結果、対応ステータスの管理がしやすくなり、以前に比べて負担が軽減されたと感じています。それでも問い合わせ対応は労力がかかる作業です、

3.サービス内の情報充実がなかなかうまく回らない

私が運営しているサービスの特性上、多方面からイベント情報を収集し、アプリに掲載する必要があります。そのため、常にアンテナを張り続けなければならず、一人で対応するのは非常に大変です。
現在は、一部の情報を自動で収集したり、ユーザー自身が情報を掲載できる仕組みを整備したことで、以前より負担は軽減されました。が、それでも、情報収集にはまだ多くの時間と労力を要しており、大きな課題の一つとなっています。
この課題を解決するため、イベント開催者自身が情報を直接掲載できる機能を開発中だったりします。

おわりに

この記事が、これから個人開発を始めようとしている方や、現在個人開発をしているけれど他の人がどのように運営しているのか気になる方にとって、少しでも参考になれば幸いです。

私自身、まだアプリ運営の経験が浅く、試行錯誤の連続ですが、その中で得た知識や工夫を共有することで、同じように個人開発に挑戦している方々のお役に立てれば嬉しいです。個人開発は決して楽な道ではありませんが、ユーザーに喜んでもらえる瞬間や、自分が思い描いたサービスが形になっていく過程は何にも代えがたい喜びがあります。

これからもアプリの改善や新しい挑戦を続けながら、個人開発の楽しさや可能性を伝えていければと思っています。この記事を読んで「自分もやってみよう」と思った方がいれば、ぜひその一歩を踏み出してみてください。応援しています!

35
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?