ENGLISH

アプリ収益化を目指すのに、何故 Google Play + GCP + Firebase の構成が最適なのか?

インフラ選定の理由


アプリ収益化を目指す際に、どんなシステム基盤を構築したら良いのか?悩んでいる方。システム構成を決定したものの、これで良かったのか?と心配な方。そんな方々も多いことと思います。
このページは、当チームが今まで検討してきた経緯を情報共有するものです。少しでも参考にして頂ければ幸いです。

結論
Google Play + GCP を選択。(軌道に乗ったらApple Store にも販路を広げる)


開発するシステムのジャンル:
生活に密着したルール類もしくはビジネスソフトを開発するシステムのターゲットとした。
受注を受けるのではなく自前で要件定義をしなければならないので、メンバーに手触り感のある分野である必要がある。
当チームのメンバーはビジネス開発の受注経験しかいない。ゲーム開発はデザイナー/イラストレーターがいないから無理だった。

ゲームは断念

ゲームは、もちろん当チームのメンバーもユーザーとして遊んだことがあるので、一度チャレンジしてみようと試作品を作って検討してみたことがある。
しかしながら、出来上がった画面のセンスは酷いものだった。キャラクターも書けないし、オープニングの音楽も作れないことに気が付いたのでプロジェクトは中断。
所詮、四角い画面しか作ったことがないエンジニアには無理な話である。
センスのいいメンバーが加わったら、再度チャレンジしてみたい

収益化、売上金の回収方法:
開発の受注ではなく独自の収益化の道を目指すので販売する物を決めなければならない。
せっかくWEBの世界に飛び出すのだから、国内のみならず世界を相手に商売をしたい。
安定的な収益を期待したいので、広告・アプリ販売ではなく、サブスクによる収益確保を目標にする。
以下の選択肢から検討した。
  1. Windows 用のアプリを販売
  2. スマホ用のアプリを販売
  3. WEB上でサービスを提供
判断の基準は、どうやって集客するのか?どうやって売上金を回収するのか?しかも世界中から、というポイントだった。
世の中にはWindows 用のアプリやWEB上でサービスを提供しているベンダーは多数あるが、販売は各々のサイトからクレジットカードで決済するパターンが多い。
この戦略を採用するには、自前で顧客を集めてくることが必要になってくる。他のサイトでも評価が高いなど、知名度と信用がなければ独自サイトで販売するのは難しい。
当チームは知名度も低くて販売力が弱く、信用も無い。独自のサイトでの販売するなら、相当の広告宣伝費が必要になってくる。しかし、そんな博打はできない。
それに「世界中のユーザーを相手にサブスクで販売する」のが目標だが世界を相手にした決済手段を自前で作るのはハードルが高そうだ。経験者が誰もいない。
結論として、既に存在するマーケットに出品する道を選択した。この場合は高額な手数料を取られる。
Google Play または Apple Store で販売することで、少なくとも審査に合格しているし、ウイルスは入っていないという信用と、マーケットに人を集める集客力を補ってもらう。そのための手数料だと思えば高くはない。

自分だって、偶然見つけた海外の知らない会社の有料ソフトをいきなりHPでポチるようなことはしない(詐欺かもしれないし、ウイルス仕込まれているかも知れない・・・)。

Android か iPhone か:
世界的には Android の方が多い(日本は例外的に iPhone の方が多い)
国内の大手企業は社内携帯どしてiPhoneを使っているところが圧倒的に多いと思う。そこをターゲットにするのであれば、iPhone を選択することになる 。ただし、大手企業は社内開発体制も充実しているし、なかなかニッチなベンダーの製品を買ってもらえるとも思えない。ビジネスソフトでも(社用携帯を配布しない)個人事業主や中小をターゲットに考えるなら、Androidでも十分に勝負になると思う。ただし、どちらも捨て難い。
一方で、当チームのメンバーはPC前提の社内に閉じたシステムをJAVAで開発した実績はあるがiOSでのアプリ開発経験があるメンバーはいない。CやSwiftでは外部から人を調達するか、一から勉強する必要があるが、そんな予算は無い。

結論として、アプリの主要な部分をWEBアプリとすることで、PCからでも、iPhoneからでもブラウザ経由で利用できるようにすることを決定。サブスクの購入の部分はスタート時点ではAndroid で作成して、軌道に乗ったら(売れるようなら、コストをかけて) iPhone対応する方針とした。

バックエンドのクラウドの選定:
ゲームやツール類ならデバイス用ソフトの開発のみで可(インフラ担当者は不要)。ビジネスソフトを開発するなら、DBMSやID管理などのバックエンドが必要(インフラ担当の出番がある)。
予算が無いのでオンプレの選択肢は無し。クラウド amazon か google か windows から選定することになる 。比較の結果、小規模なインフラを作る場合には基本的に大きな違いは無いと判断。
クラウドの良いところはスモールスタートが可能で処理が増えてきたら簡単にスケールアップできること。オンプレだったら、こうはいかない。
当チームでは、Androidでスタートする前提だったので google を選択することにした。
Google であれば一社で必要なものが全部そろう。接続に関するドキュメントなど公式のサポートも多いことを期待。立ち上げ段階での問題はできるだけ少なくしたい。そういった意味でも、当初は iPhone ではなく Android でスタートするという選択は正解だったと思う。
次の記事:バックエンドの選定。開発言語/WEBサーバー/Database