mBaaSサーバ選びをやるよ

- 広告 -

アプリを運営するのに必要なサーバの機能を考える

スマホ用のアプリといえば、端末(iPhoneとかAndroidとか)上で動かすものなので、基本的にはサーバ(インターネット)はなくても動きます。
じゃあ、なんでサーバを使おうとするのかと言うと、その方がサービスに広がりができるからです。

メジャーなところで、push通知。push通知を送るためには、送るためのサーバが必要になるんです。アップルさんやグーグルさんは用意してくれていません。push通知を送るためのサービスもあるので、push通知だけをしたいのであればそれを利用するのもアリです。
あとは、アカウント管理。ユーザ登録をして使う場合などには必須です。

他だと、データ通信系ですね。アプリの内容にもよりますが、今回のようなアプリだとアプリ内にあらかじめ絵本データを持たせておけば、通信させてデータを取ってくる必要はありません。

何故、わざわざサーバを借りてまで通信させようとしているかというと、絵本データの更新をさせたいからです。

では、サクッとサーバを選定しちゃいましょう!

今回、必要な機能は

  1. PUSH通知
  2. DB(データ管理)
  3. API(データ通信)
  4. ユーザ管理

こんなところでしょうか。

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つのサービスを比較検討してみましょう。

欲しい機能はどちらも一通り入ってますしね。他の機能や料金体制で比較するしかないですね。下の表は無料で使用できる範囲を比較したものです。

mBaaS機能比較
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で描いたからです。。。え?いつもと変わらない??

- 広告 -

コメント