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

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

2019-07-01から1ヶ月間の記事一覧

mBaaSをセキュアに使う方法

mBaaSはモバイルアプリからの利用を前提としているため、アクセス元を制限することはできません。一般的なバックエンドシステム(データベースなど)のようにLAN内部からしか使えないといった利用には向きません。 そんなmBaaSをセキュアに利用するためのTip…

データストアを高速化する(データ追加編)

データストアはネットワークアクセスを伴うので、大量のデータを処理しようと思うとネットワークレイテンシーがボトルネックになってきます。そこで今回はデータの追加処理(更新、削除も)高速化するためのアイディアを紹介します。

データストアを高速化する(データ取得編)

データストアに限りませんが、mBaaSを使う際にはネットワークアクセスが必要です。そのため、いかにネットワーク通信量(回数、データ量)を減らすかがアプリ高速化の鍵になります。 今回はデータストアにおけるデータの持ち方と、その速度比較を紹介します。

キーの再生成に柔軟に対応する

mBaaSではキーに何かあった時のために再生成することができます。その際、アプリ側に埋め込んだキーを書き換える必要があります。つまり、アプリを再度ビルドして、リリースし直す必要があり、これは非常に大きな手間でしょう。 そこで、キーを外部ファイル…

データストアをセキュアに運用する

データストアはスキーマレスなデータベースで、柔軟に利用できます。しかし、その柔軟さ故にコーディングミスでカラムが作られてしまったり、データが追加されてしまったりします。 RDBMSに慣れている人はもう少し制約を付けたいと思うでしょう。今回はその…

Herokuを使ってmBaaSを定期実行する

定期的にmBaaSを実行してデータを作成したり、集計したいというニーズはあるかと思います。残念ながら現在のニフクラ mobile backendでは定期実行(タイマー、cronとも呼びます)の仕組みは用意されていません。そこで使ってみたいのが、無料で使えるHeroku…

データストアのデータを全件取るユーティリティ関数の紹介

データストアでは一度に1,000件のデータまでしか取得できません。しかし、それ以上データがあることは多いでしょう。そんな時に、毎回データの件数を調べて繰り返し取得する処理を書くのは面倒です。 そこで使ってみて欲しいのが ncmb-utils です。Node.js向…

端末のデバイストークンをmBaaSから取得する方法

デバイストークンはプッシュ通知を送信する際に使いますが、デバイストークンにユーザ属性やカテゴリを付与することで、より細かな検索条件を指定してプッシュ通知を配信できます。 今回は各SDK別に、mBaaSからデバイストークンを取得する方法を紹介します。

データストアはこんな使い方もできます!

データストアはスキーマレスなデータベースとなっています。さらにデータベースで言うテーブル相当についても、リクエストした際になければ作るといった仕組みになっています。そのため、今回紹介するようなちょっと無茶な使い方もできてしまいます。

配列のカラムを扱う場合の注意点(JavaScript編)

mBaaSのデータストアでは数字や文字列、日付、位置情報などの他に配列やオブジェクトを保存することができます。その際、特に注意して欲しいのが配列のカラムです。今回はJavaScript SDKを使った際の注意点を紹介します。

由井中学校にてプログラミング出張授業を行いました!

先日6/15(土)、八王子市立由井中学校にてプログラミング出張授業を行いました! 「スーパーサイエンステクノロジー」という授業に弊社のプログラミング出張授業を採択していただき、 中学2年生×2クラスに「プログラミング的思考を学ぶ論理的思考コース」を受…

データストア、プッシュ通知、ユーザ一覧、デバイストークン一覧をJSONでダウンロードする方法

mBaaSではエクスポート機能を提供しています。エクスポートを使うことでデータストアや会員管理、プッシュ通知などのデータをダウンロードできます。難点は処理がオンデマンドではなくバッチ処理になっていることで、申請してメールでダウンロード可能になっ…

Hydraを使ってSwift SDKの非同期処理をasync/await化する

mBaaSではネットワーク処理を多用しますので、処理全体が非同期化します。同期処理にすることもできますが、その場合UIが固まってしまうのでユーザ体験が悪くなってしまいます。 そこで使ってみたいのがPromise化、そしてasync/awaitを使った非同期処理です…