アプリを運営するのに必要なサーバの機能を考える
スマホ用のアプリといえば、端末(iPhoneとかAndroidとか)上で動かすものなので、基本的にはサーバ(インターネット)はなくても動きます。
じゃあ、なんでサーバを使おうとするのかと言うと、その方がサービスに広がりができるからです。
メジャーなところで、push通知。push通知を送るためには、送るためのサーバが必要になるんです。アップルさんやグーグルさんは用意してくれていません。push通知を送るためのサービスもあるので、push通知だけをしたいのであればそれを利用するのもアリです。
あとは、アカウント管理。ユーザ登録をして使う場合などには必須です。
他だと、データ通信系ですね。アプリの内容にもよりますが、今回のようなアプリだとアプリ内にあらかじめ絵本データを持たせておけば、通信させてデータを取ってくる必要はありません。
何故、わざわざサーバを借りてまで通信させようとしているかというと、絵本データの更新をさせたいからです。
では、サクッとサーバを選定しちゃいましょう!
今回、必要な機能は
- PUSH通知
- DB(データ管理)
- API(データ通信)
- ユーザ管理
こんなところでしょうか。
PUSH通知やユーザ管理なんかは、自分で作ろうと思ったら、とても時間がかかるし、バグがあったら恐ろしいことになります。特にユーザ管理なんかはセキュリティにも気を使わなくちゃいけませんし、データが吹っ飛んだら目も当てられません。サーバ機能を作るのはとても大変なのです。でも大丈夫、スマホアプリに必要な機能をサーバ側で用意してくれています。
それがmBaaS(mobile backend as a Service)と呼ばれるものです。
backendとはその名の通り、サーバの裏方さんのことです。データを保管してたり、アカウント認証とかしてくれます。
私は元々、サーバ系の開発はあまりやらないので、なんとか自分で作らなくて良い方法はないかと思っていたら、普通にありました。ありがたい世の中ですね!これでアプリ作成に集中できますよ。
そうして、検討した結果、、、AWSを使用することにしました!
決め手は下で説明していきますよ。
どこのmBaaSサービスを利用するか検討しよう
早速、mBaasサーバを比較してみましょう。探せば沢山出てくるとは思いますが、候補はこの3つに絞りました。なんのひねりもない、メジャー所です。早くサーバ決めて、アプリの制作に入りたかったんです!!
- Parse
- Baasといえばここ!みたいに有名だった所。
- 調べてみたら、サービス終了のお知らせが!2017年には終了するそうです。わざわざ終了するサービス使う必要ないので諦めましょう。。。
- AWS Mobile Hub
- 言わずと知れたアマゾンのクラウドサービス。
- ユーザー認証、データストレージ、バックエンドのロジック、プッシュ通知、コンテンツ配信、および分析、ができるらしい。(コピペ)
- AWSといえば、使った分だけ課金なのと、初回1年間は無料というなんとも素晴らしいプランが魅力的ですよね!
- 使っている人も多いので、トラブルがあった時も対応がしやすいかも。
- 自分たちで必要なものをカスタマイズしていくスタイルなので、サーバの仕組みが分かっている人でないと難しいかも。
- NIFTY Cloud mobile backend
- こちらも有名なインターネット業界の老舗。最近、力を入れているのかよく見かけます。
- プッシュ通知、会員管理・認証、SNS連携、データストア、ファイルストア、位置情報検索、スクリプト、ができるらしい。
- 国内のサービスなので、何かあった時も安心。ただ、テクニカルサポートは有料プランのみ。
- かなりの範囲が無料で使える。今回みたいなしょぼい通信だけなら、無料でも十分すぎるくらい。
- webサイトが分かりやすい。初心者はこちらの方が安心かも。
2つのサービスを比較検討してみましょう。
欲しい機能はどちらも一通り入ってますしね。他の機能や料金体制で比較するしかないですね。下の表は無料で使用できる範囲を比較したものです。
AWS | NIFTY | |
PUSH通知 | 100万回 ⁄ 月
*時間指定できないっぽい |
200万回 ⁄ 月
*時間指定可能 |
DB(データ管理) | NoSQL | NoSQL |
API(データ通信) | 50GB、200万回 ⁄ 月 | 200万回 ⁄ 月 |
ユーザ管理 | 5万 MAU | 不明 |
ストレージ | 5GB | 5GB |
SDK | iOS,Android,Unity,
Xamarin,JavaScript |
iOS,Android,JavaScript,
Monaca,Unity |
分析ツール | Amazon Mobile Analytics
1 億イベント / 月 |
– |
テスト自動化ツール | ◯ | – |
ランキング機能 | – | ◯ |
どちらも無料でそこそこ使用できます。必須以外の機能でイイなと思ったのは、AWSのテスト自動化ツールとNIFTYのランキング機能です。
バージョンアップの度に、全行程をテストする必要があり(どこでバグが出るかわからないからね)、毎回同じテストを人間がやるのは大変なのです。自動化できるならそれに越したことはない。
ランキングは、iOSはゲームセンターがあるので、ランキングは取れますがAndroidはないので、別のサービスを利用する必要があります。以前のゲームでは、結局Androidだけランキング機能を入れなかったんですよね。。。
料金体制は、AWSは従量課金なのに対し、NIFTYは無料か月3万円かの二択、中間がない!
一つココで問題が!
なんと、NIFTYはSDKがXamarinに対応していない模様。AWSもぱっと見、対応していないのかと思ったら、ドキュメントは用意されているようです。(ただし英語ですけど!)
Xamarinを使う以上、実質AWS一択ってことですね。
push通知の時間指定など、不安要素はありますが今後に期待ということで。
今回、イラストのタッチがいつもと違うのは、iPadが壊れてしまってPCで描いたからです。。。え?いつもと変わらない??
コメント