27
Copyright @ NIFTY Corporation All Rights Reserved ニフティクラウド mobile backend REST APIについて ニフティクラウド mobile backend エヴァンジェリスト 中津川篤司

ニフティクラウド mobile backendのREST APIについて

Embed Size (px)

Citation preview

Page 1: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

ニフティクラウドmobile backendのREST APIについて

ニフティクラウド mobile backend

エヴァンジェリスト 中津川篤司

Page 2: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

自己紹介

2

@moongift

fb.me/moongift.fan

中津川 篤司株式会社MOONGIFT 代表取締役ニフティクラウド mobile backend

          エヴァンジェリスト

2004年1月よりオープンソース・ソフトウェアを毎日紹介するブログ MOONGIFT を運営。

http://www.moongift.jp/

Page 3: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

過去にやっていたサイト

Page 4: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

ニフティクラウド mobile backnendについて

4

@niftycloud_mb

fb.me/niftycloudmb

ニフティクラウド mobile backendニフティ株式会社の提供するmBaaS

スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供

http://mb.cloud.nifty.com/

Page 5: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

アジェンダ

5

1. 自己紹介(済)

2. mBaaS/NCMBについて

3. API仕様

4. デモ

5. NCMBの価格/プラン

6. まとめ

Page 6: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

mBaaSとは?

6

スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供

 → mobile Backend as a Serviceの略

Page 7: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

アプリとサーバの現状

7

アプリ サーバ

・認証 ・結果

・データ(テキスト/バイナリ) ・プッシュ通知

だいたい同じ

Page 8: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

サーバに求められるもの

8

・安定性 ・セキュリティ対策 ・定期的なアップデート

絶対に落ちないこと! 高速に動き続けること! クラックされないこと!

Page 9: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

mBaaSに置き換えてみる

9

アプリ

・認証 ・結果

・データ(テキスト/バイナリ) ・プッシュ通知

ニフティクラウド mobile backend

アプリの開発に集中!

Page 10: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

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

10

プッシュ通知 データ ストレージ

ファイル ストレージ

SNS連携 認証 位置情報 検索

Page 11: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

対応プラットフォーム

11

Objective-C(2014年12月より64bit対応)

Android

JavaScript(2014年12月よりnodeサポート!)

Unity

Page 12: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

Web API

12

RESTなAPI

・データの追加、更新、削除、検索 ・バイナリファイルの追加、更新、削除、検索 ・認証 ・プッシュ通知の追加、更新、削除、検索

https://github.com/moongift/ncmb-ruby-client

Page 13: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

仕様(シグネチャ)

•リクエストメソッド• FQDN•リクエストしたAPIのパス•クエリストリング•アプリケーションキー•シグネチャメソッド•シグネチャバージョン•タイムスタンプ(ISO8601)

HmacSHA256クライアントキー

Base64

13

Page 14: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

仕様(ヘッダー)

• X-NCMB-Application-Keyアプリケーションキー• X-NCMB-Signature シグネチャ• X-NCMB-Timestamp タイムスタンプ• X-NCMB-Apps-Session-Token アプリセッショントークン

14

Page 15: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

仕様(サーバ)

• CORSサポート• JavaScriptからデータの登録(POST)更新(PUT)が可能• JavaScriptからファイルのアップロードが可能

15

Page 16: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

データストア

16

スキーマレスなデータベース•オブジェクト登録:POST

•オブジェクト取得:GET

•オブジェクト更新:PUT

•オブジェクト削除:DELETE

•オブジェクト検索:GET

•複数オブジェクト操作:POST

Page 17: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

認証

17

Twitter/FBもサポートした認証•ユーザ登録:POST

•会員登録メール要求:POST

•ログイン:GET

•ログアウト:GET

•パスワード再発行:POST

•ロール管理:REST

Page 18: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

プッシュ通知

18

プッシュ作成もPOST一つ•プッシュ通知登録:POST

•開封登録:POST

•デバイストークン登録:POST

Page 19: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

ファイルストレージ

19

画像やレポート、HTMLなど•ファイル登録:POST

•ファイル更新:PUT

•公開ファイル取得:GET

Page 20: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

問題点

20

アプリケーションキー、クライアントキーが漏洩するとアクセスできてしまうJavaScriptだとソースの中身が見えてしまう…

署名処理だけサーバ化することで回避

https://github.com/moongift/ncmb-server

Page 21: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

デモ

21

Dropbox上で動く掲示板

bit.ly/ncmb-chat

Page 22: ニフティクラウド mobile backendのREST APIについて

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

料金プラン

Page 23: ニフティクラウド mobile backendのREST APIについて

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

Basicプラン200万!

200万!

5GB!

月額無料

Page 24: ニフティクラウド mobile backendのREST APIについて

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

mikan 最速の英単語 リスニングもマスター

https://www.youtube.com/watch?v=5ujG-0zrtrw

Page 25: ニフティクラウド mobile backendのREST APIについて

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

開発で困ったら?

bit.ly/ncmb-community

Page 26: ニフティクラウド mobile backendのREST APIについて

Copyright © NIFTY Corporation All Rights Reserved. ‹#›

明日CROSSやります!

http://2015.cross-party.com/

Page 27: ニフティクラウド mobile backendのREST APIについて

Copyright @ NIFTY Corporation All Rights Reserved

@niftycloud_mb

https://fb.me/niftycloudmb