Upload
-mobile-backend
View
285
Download
0
Embed Size (px)
Citation preview
Copyright @ NIFTY Corporation All Rights Reserved
ニフティクラウドmobile backendのREST APIについて
ニフティクラウド mobile backend
エヴァンジェリスト 中津川篤司
Copyright @ NIFTY Corporation All Rights Reserved
自己紹介
2
@moongift
fb.me/moongift.fan
中津川 篤司株式会社MOONGIFT 代表取締役ニフティクラウド mobile backend
エヴァンジェリスト
2004年1月よりオープンソース・ソフトウェアを毎日紹介するブログ MOONGIFT を運営。
http://www.moongift.jp/
Copyright @ NIFTY Corporation All Rights Reserved
過去にやっていたサイト
Copyright @ NIFTY Corporation All Rights Reserved
ニフティクラウド mobile backnendについて
4
@niftycloud_mb
fb.me/niftycloudmb
ニフティクラウド mobile backendニフティ株式会社の提供するmBaaS
スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供
http://mb.cloud.nifty.com/
Copyright @ NIFTY Corporation All Rights Reserved
アジェンダ
5
1. 自己紹介(済)
2. mBaaS/NCMBについて
3. API仕様
4. デモ
5. NCMBの価格/プラン
6. まとめ
Copyright @ NIFTY Corporation All Rights Reserved
mBaaSとは?
6
スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供
→ mobile Backend as a Serviceの略
Copyright @ NIFTY Corporation All Rights Reserved
アプリとサーバの現状
7
アプリ サーバ
・認証 ・結果
・データ(テキスト/バイナリ) ・プッシュ通知
だいたい同じ
Copyright @ NIFTY Corporation All Rights Reserved
サーバに求められるもの
8
・安定性 ・セキュリティ対策 ・定期的なアップデート
絶対に落ちないこと! 高速に動き続けること! クラックされないこと!
Copyright @ NIFTY Corporation All Rights Reserved
mBaaSに置き換えてみる
9
アプリ
・認証 ・結果
・データ(テキスト/バイナリ) ・プッシュ通知
ニフティクラウド mobile backend
アプリの開発に集中!
Copyright @ NIFTY Corporation All Rights Reserved
ニフティクラウド mobile backendの主な機能
10
プッシュ通知 データ ストレージ
ファイル ストレージ
SNS連携 認証 位置情報 検索
Copyright @ NIFTY Corporation All Rights Reserved
対応プラットフォーム
11
Objective-C(2014年12月より64bit対応)
Android
JavaScript(2014年12月よりnodeサポート!)
Unity
Copyright @ NIFTY Corporation All Rights Reserved
Web API
12
RESTなAPI
・データの追加、更新、削除、検索 ・バイナリファイルの追加、更新、削除、検索 ・認証 ・プッシュ通知の追加、更新、削除、検索
https://github.com/moongift/ncmb-ruby-client
Copyright @ NIFTY Corporation All Rights Reserved
仕様(シグネチャ)
•リクエストメソッド• FQDN•リクエストしたAPIのパス•クエリストリング•アプリケーションキー•シグネチャメソッド•シグネチャバージョン•タイムスタンプ(ISO8601)
HmacSHA256クライアントキー
Base64
13
Copyright @ NIFTY Corporation All Rights Reserved
仕様(ヘッダー)
• X-NCMB-Application-Keyアプリケーションキー• X-NCMB-Signature シグネチャ• X-NCMB-Timestamp タイムスタンプ• X-NCMB-Apps-Session-Token アプリセッショントークン
14
Copyright @ NIFTY Corporation All Rights Reserved
仕様(サーバ)
• CORSサポート• JavaScriptからデータの登録(POST)更新(PUT)が可能• JavaScriptからファイルのアップロードが可能
15
Copyright @ NIFTY Corporation All Rights Reserved
データストア
16
スキーマレスなデータベース•オブジェクト登録:POST
•オブジェクト取得:GET
•オブジェクト更新:PUT
•オブジェクト削除:DELETE
•オブジェクト検索:GET
•複数オブジェクト操作:POST
Copyright @ NIFTY Corporation All Rights Reserved
認証
17
Twitter/FBもサポートした認証•ユーザ登録:POST
•会員登録メール要求:POST
•ログイン:GET
•ログアウト:GET
•パスワード再発行:POST
•ロール管理:REST
Copyright @ NIFTY Corporation All Rights Reserved
プッシュ通知
18
プッシュ作成もPOST一つ•プッシュ通知登録:POST
•開封登録:POST
•デバイストークン登録:POST
Copyright @ NIFTY Corporation All Rights Reserved
ファイルストレージ
19
画像やレポート、HTMLなど•ファイル登録:POST
•ファイル更新:PUT
•公開ファイル取得:GET
Copyright @ NIFTY Corporation All Rights Reserved
問題点
20
アプリケーションキー、クライアントキーが漏洩するとアクセスできてしまうJavaScriptだとソースの中身が見えてしまう…
署名処理だけサーバ化することで回避
https://github.com/moongift/ncmb-server
Copyright @ NIFTY Corporation All Rights Reserved
デモ
21
Dropbox上で動く掲示板
bit.ly/ncmb-chat
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
料金プラン
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
Basicプラン200万!
200万!
5GB!
月額無料
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
mikan 最速の英単語 リスニングもマスター
https://www.youtube.com/watch?v=5ujG-0zrtrw
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
開発で困ったら?
bit.ly/ncmb-community
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
明日CROSSやります!
http://2015.cross-party.com/
Copyright @ NIFTY Corporation All Rights Reserved
@niftycloud_mb
https://fb.me/niftycloudmb