FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

JavaScript SDK

JavaScript SDKのキッチンシンクアプリを作る【Facebook認証編】

キッチンシンクというのは、何かのフレームワークやライブラリがあった時に、その殆どの機能を体験できる仕組みになります。それがあることでフレームワークの全体像が分かったり、何か開発していて困った時に参考とできるコードになります。 元々MonacaとNC…

ロールに所属するユーザを100件以上取得する

ロールに所属している会員を取得する際の上限数について · Issue #774 · NIFTYCloud-mbaas/UserCommunityより。 あるロールに所属するユーザを取得する場合には ncmb.Role.fetchAll() を使います。 // 通常のやり方 ncmb.Role.equalTo("roleName","Pro").fet…

既存のロールにユーザを追加するには

権限管理を行うことでユーザやグループ単位にアクセスできるオブジェクトを制御できます。アプリケーションキーとクライアントキーという二つの情報でアクセス制御を行っているmBaaSにとって、認証ごとのアクセス制御はセキュリティの肝になるでしょう。 そ…

Webブラウザでファイルストアにアップロードする

WebブラウザとNode.jsのAPIは多少異なります。JavaScript SDKを使えばほぼどちらも相違なく使えるのですが、ファイルストアへのアップロードは異なりますので注意してください。 今回はテキストデータのアップロード方法について紹介します。 Node.jsの場合 …

JavaScript SDKを拡張するNCMB Extendにeachメソッドを追加しました

JavaScript SDKはMonacaアプリやコンソールからNCMBを使うのに便利なライブラリですが、機能はごく基本的なものに限っており物足りなさを感じることがあります。 そこで非公式に作っているのがNCMB Extendです。データストアを拡張して便利なメソッドを追加…

JavaScript SDKで配列を扱う際の注意点

通常のRDBMSの場合、1対多のデータ構造を考えるとテーブルを二つ用意するのが一般的でしょう。しかしスキーマレスのデータベースの場合、そのような正規化よりもデータの扱いやすさを優先することが多くなります。 NCMBにおいてもそれは同様で、データストア…

JavaScript SDKを拡張するNCMB Extendに集計関数を追加しました

※ 非公式ライブラリなのでご注意ください データストアに不足している機能を追加するNCMB ExtendにSUM関数を実装しました。集計したいフィールドをsumメソッドの中で指定するだけです。 使い方 require('ncmb-extend'); let NCMB = require('ncmb'); let ncm…

JavaScript SDKを拡張するNCMB Extendを作成しました

mBaaSではJavaScript SDKを公開しています。これを使えばWeb APIの設計や認証周りなどを気にすることなくmBaaSのデータを自由に扱えるようになります。 しかしJavaScript SDKだけでは物足りないと感じたり、結果的にクライアント側でのコード量が増えてしま…

プッシュ通知を承認制にする【デバイストークン設定画面を作る】

プッシュ通知は従来のマーケティング手法で言えばメールマーケティングに相当します。つまり一度配信してしまうと、後から取り消すのが難しい拡散方法ということです。そのため企業によっては一旦承認フローを経てからプッシュ通知を送りたいという要望も聞…

データクラスのエクスポート用アプリを作成しました

データクラスのエクスポートを自動化する方法を紹介しましたが、担当者が日々手動で実行すれば十分といった規模の場合もあるでしょう。そこでHTML5でデスクトップアプリケーションが作れるElectronを使ってエクスポート機能を持ったアプリを作成しました。

mBaaSの社内用ツールに使えるElectronアプリを作りました

mBaaSには管理画面がありますが、それでも欲しいと言われるのが自社専用の管理画面です。入力項目や画面数を制限して担当者が使いやすいようなオリジナルの画面です。企業によっては承認フローが必要といった場合もあるでしょう。今回はJavaScript SDKとWeb…

NCMB用デスクトップアプリで権限管理を実装しました

Web技術でデスクトップアプリケーションが作れるElectronとJavaScript SDKを使い、社内などで使えるNCMBを運用するためのツールを作ります。前回はごく基本的な認証まで行いましたので、今回は権限管理の実装方法と利用法を紹介します。

mBaaSを使ってWebアプリケーションを作ろう

数年前、Node.jsやExpressに注目が集まった際によく言われてたのがMEANスタックです。それまでのLAMPスタックに対抗するもので、M(MongoDB)E(Express)A(Angular)N(Node.js)でWebアプリケーションを構築します。 今回の新しいmBaaSの使い方として、mB…

ncmb-cliがデータストアのエクスポートに対応しました

JavaScript SDKを使ったmBaaSのコンソールベースの操作ツール、ncmb-cliでデータストアのCSVエクスポートに対応しました。機能としては先日紹介したデータストアをファイルストアにエクスポートするスクリプトを作成しましたをベースに、CLIで使えるようにし…

mBaaSを使ってデータを自動分割、ローテートする

アクセスログなどを管理する場合、一日ごとのログファイルを分割したいと考えることは多いでしょう。同じファイルや同じテーブルにデータを蓄積していると、いつの間にか膨大になってしまいます。 mBaaSのデータストアを使った場合、そういった煩わしい処理…

マスタメンテナンス画面を作る(その2)「データ編集機能を作る」

前回の認証に続いて、今回はデータ編集機能を作っていきます。担当者のグループ(Manager)に読み書き権限を付与し、全体に対しては読み込み権限だけ付与します。そうすることで、ユーザからは誤ってデータ操作されないマスタができあがります。 今回はデー…

マスタメンテナンス画面を作る(その1)「認証を作る」

mBaaSでは開発者でなくとも使いやすい管理画面を提供していますが、すべての機能が使える分、どれを触れば良いのか分からないと感じてしまう担当者の方も多いようです。また、権限の設定などを間違えるとアプリで使えないデータになってしまう場合があります…

JavaScript SDKのログイン/ログアウト処理について

JavaScript SDKを使って認証処理を行う際には login/logout メソッドを使って行います。その際の注意点を幾つか紹介します。 ncmb.User.login と user.login の違い ncmb.User.login を使った認証処理は次のように書きます。 ncmb.User.login(userName, pass…

自分が所属しているロールを判断するには?

管理者や課金ユーザなどで、ロールを使っている方は多いかと思います。その際にはログインしているユーザがどのロールに所属しているかによってコンテンツの出し分けを行うでしょう。 現状のmBaaSではログインしているユーザがどのロールに所属しているか一…

JavaScript SDKを拡張してみましょう

JavaScript SDKにはmBaaSを汎用的に使うための機能は揃っていますが、アプリにはそれぞれ特有の機能が組み込まれるものです。そうしたロジックをすべて関数として提供するのも一つのやり方ですが、コードがスパゲティになりやすい傾向があります。 そこで今…

mBaaSを使ってブログを作る(その4)「ファイルアップロード機能を実装する」

mBaaSをモバイルではなくバックエンドのデータベースとして活用する記事になります。前回で編集機能まで作りましたので、今回はファイルストアへのアップロード機能を作ります。実際にできあがると次のようになります。Qiitaやはてなブックマークのように画…

mBaaSを使ってブログを作る(その3)「編集画面/権限を追加する」

mBaaSをモバイルではなくバックエンドのデータベースとして活用する記事になります。前回で認証機能まで作りましたので、今回はそれを使って権限管理や編集機能を作ってみたいと思います。 今回実装するのは以下の通りです。 編集画面 更新機能 アクセス制限…

mBaaSを使ってブログを作る(その2)「認証機能を追加」

mBaaSをWebアプリケーションのバックエンドシステムとして使うデモです。前回はブログの基礎ができましたが、今回は認証機能を使って認証したユーザだけ記事を作成できるようにします。 セッション用ライブラリを追加 Expressでセッションを管理する場合は e…

Monacaで画像アップロード/ダウンロードを行うには

スマートフォンアプリとして写真を扱いたいと思う人は多いかと思います。JavaScript SDK v2.1.1よりWebブラウザでもファイルストアへのアップロードが行えるようになり、Monacaアプリで写真のアップロード/ダウンロードができるようになりました。そこで今回…

JavaScript SDKバージョンアップのお知らせ

JavaScript SDK v2.1.3がリリースされました。今回の大きな変更として、iOS 10上でMonacaを使っている際のシグネチャエラーになる不具合が修正されています。シグネチャ生成部分なので、多数のアプリで影響が出ているかと思います。アップデートをお願いしま…

JavaScript SDKを使ってTwitter認証機能を使ってみる

mBaaSでは各種ソーシャルサービスを使った認証機能を提供しています。今回はその一つ、Twitter認証を使う方法を紹介します。TwitterではJavaScriptだけで認証を終えることができず、外部にサーバが必要になります。今回はOAuth.ioを使ってサーバレスのまま、…

クライアントキーを隠蔽して安全にmBaaSを使ってみる

mBaaSではアプリケーションキーとクライアントキーを組み合わせて使いますが、もしこの2つのキーが漏洩するとアプリを自由に(アクセス権限がないデータについては)操作できるようになります。コンパイル系のプログラミング言語では安全ですが、Webアプリケ…

JavaScriptでGoogle認証を実装する

Google認証についてJavaScript SDKで実装してみたいと思います。ニフティクラウド mobile backendでは会員管理機能を提供しています。一般的なユーザIDとパスワードの組み合わせの他、メールアドレスとパスワードであったり、Twitter/Facebook/Googleといっ…

Cordovaアプリでプッシュ通知を受信してみる

ニフティクラウド mobile backendではMonacaと連携しており、Monacaアプリから専用プラグインを使って簡単にプッシュ通知受信のためのトークン設定を行ったり、プッシュ通知を受け取ることができます。 今回はMonacaもベースにしているCordovaアプリに対して…

JavaScript SDK Version 2のTips紹介

今回はJavaScript SDK Version 2を利用する際に必要になるであろうTipsを幾つか紹介します。なおドキュメントはこちらに用意してありますので不明点があればぜひ参考にしてください。 今回は以下の5つです。 データストアの基本的な使い方 データストアに権…