nifty_cloud1

Cocos2d-xアプリにニフティクラウド mobile backendを使ってプッシュ通知を実装する

  • このエントリーをはてなブックマークに追加

by [2015年6月09日]

ゲーム開発業界の動きはとても早い。トレンドが日々変化し、関連サービスも続々登場している。既にゲーム業界に参入している企業も、これから入ろうとしている企業どちらも情報収集に余念がない。

そこで今回はニフティ株式会社が主催した「ニフティクラウド mobile backend 勉強会 #8 – Cocos2d-x」からCocos2d-xとBaaS(Backend as a Service)の組み合わせ方について紹介したい。講演したのは中津川篤司氏だ。

中津川篤司氏 ニフティクラウド mobile backend エヴァンジェリスト。オープンソース・ソフトウェアを毎日紹介するブログMOONGIFT、およびスマートフォン/タブレット開発者およびデザイナー向けメディアMobile Touch運営。B2B向けECシステム開発、ネット専業広告代理店のシステム担当を経た後、独立。多数のWebサービスの企画、開発およびコンサルティングを行う。2013年より法人化。

ニフティクラウド mobile backendとは?

ニフティクラウド mobile backendとは、簡単に言えばアプリ開発でよくあるサーバサイドの仕組みをまるっと面倒みるというサービスになります。アプリ開発なのになんでバックエンドなのかという話なんですが、そもそもスマートフォンやタブレットアプリにおいてサーバサイドが全くないアプリはほとんどありません。ゲームであればインストールは素早く行いつつ、画像や音楽データは初回起動時にダウンロードするようにしたり、ユーザログインの仕組みや最高得点の記録とランキングなど様々な点でネットワークを使います。

ncmb-cocos2d-x-6

サーバサイドは必要だと思われつつも、その実装は最後の段階になってから行われることがほとんどです。おそらく皆さん経験があると思いますが、アプリ開発時においてサーバサイドはアプリ開発を追っかけるように作られます。最悪、アプリの審査が始まるまでに実装が間に合えば良いということもあります。アプリのUI/UXによってサーバサイドの送受信するデータが異なるので、なるべく実装を送らせたいと思うものです。

企業においても同様で、個人や数人の開発者達にとってサーバサイドは非常に鬼門です。せっかくアプリを作ったのにサーバサイドがないためにバイラルできなかったり、アプリに加えてサーバサイドまで開発しなければならないので負担が増えます。それをサポートするのがニフティクラウド mobile backendになります。

ニフティクラウド mobile backendの主な機能

ニフティクラウド mobile backendの中でもゲーム開発でも使ってもらえる機能を紹介します。まずデータストアがあります。これはオンライン上にあるデータベースになりますが、スキーマレスなのが特徴になります。つまりあらかじめ設計せずに使い始められるので、柔軟にデータ形式を定義することができます。位置情報を保存することもできて、あるポイントを中心に半径を指定してその円の中にあるデータを取り出したり、2つのポイントを指定してその四角の中に入っているデータを引き出すこともできます。無料で5GBまで利用が可能です。ゲーム開発においてはランキングデータを保存したり、他のユーザとのメッセージ交換に利用ができます。

ncmb-cocos2d-x-7

次にファイルストアがあります。先ほどのデータストアがテキストデータなのに対してファイルストアはバイナリなどのファイルを扱います。例えば音楽や動画データ、CSV、HTMLなどです。ゲームの初期データはもちろんのこと、ユーザが生成したデータファイルを保存するのにも使えます。データストア、ファイルストアともに閲覧、編集などの処理に対して権限設定ができますので自分だけのデータやあるファイルは友人と共有するなどといった権限管理が可能です。

ncmb-cocos2d-x-8

3つ目にプッシュ通知があります。Webの管理画面上で自由に作成可能です。iOSであればiOS 8で登場したアクション付きプッシュ通知であったり、プッシュ通知のサウンドを変更することもできます。Androidでは多彩なプッシュ通知が利用可能です。さらにプッシュ通知を開いた時に特定のURLを開く機能もありますので、それによってイベントのお知らせを華やかに表示するような使い方も可能です。プッシュ通知は個別の端末ごとに配信することはもちろん、アプリ側のデータを使って配信端末を絞り込むこともできます。アプリからプッシュ通知を作ることもできるので、メッセージをやりとりするような使い方も可能です。

ncmb-cocos2d-x-10

こういった機能は汎用的で、アプリ開発時においてよく求められる機能になります。それがサーバサイドの開発を一切せずに手に入りますので、アプリ開発時においてサーバサイドと要件を合わせる必要もなく、APIの設計をして開発を待つといった手間もありません。ユーザ登録して1分ですぐにサーバサイドを利用開始できます。

ただ、発表時点でのニフティクラウド mobile backendがサポートする環境はiOS、Android、Unity、JavaScriptになります。Cocos2d-xは対応していません。JavaScript SDKはありますが、Cocos2d-jsでは動きません。

Cocos2d-xアプリにプッシュ通知を飛ばす

プッシュ通知はアプリのアクティブ率を高めるのに大事な要件ですが、実装も意外と面倒なイメージがあります。それをiOS、Androidに簡単に実装できればニフティクラウド mobile backendを利用する価値があるかと思います。プッシュ通知であればCocos2d-xアプリでもニフティクラウド mobile backendが利用が可能です。なお、プッシュ通知は月200万回まで無料で送信できます。

ncmb-cocos2d-x-15

細かな実装についてはここでは割愛しますが、iOSについてはとても簡単に実装できます。Androidの場合、Eclipse(Android Studioではなく)を使えば実現できます。実際に試す場合はQiitaの記事(iOS、Android)をご覧ください。

これでiOS、Androidデバイスともに実装が完了します。配信する際にはWebの管理画面上で行います。

ncmb-cocos2d-x-21

iOSの場合は証明書、Androidの場合はAPIキーが必要になります。

ncmb-cocos2d-x-23

このようにとても簡単にプッシュ通知が配信できるようになります。サーバサイドのコードは一切書かずに配信できます。ぜひご利用ください。

▼参考リンク
サーバー開発不要!アプリ開発をよりスマートに、スピーディに。 | ニフティクラウド mobile backend

PageTopへ