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

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

○○Payで注目度がアップしているQRコードを生成する方法

PayPay、LINE Pay、ファミペイ、メルペイなど様々なペイが生まれ、そして消えています。元々日本では非接触型の決済(Suica、Pasmoなど)が使われてきましたが、置き換わる存在になろうとしているかのようです。 そんな○○Payで使われているのがQRコードです…

Node.js版スクリプトで便利なTips

mBaaSのNode.jsでは幾つかの制約がありますが、それらを解決できる(かも知れない)Tipsを二つ紹介します。

スクリプトでできること

スクリプト機能を使うことで、サーバレスな環境で自由にコードを実行できます。mBaaSの操作に使ったり、外部のAPIとの連携に利用することもできます。今回はスクリプト機能を使ってできることの例を幾つか紹介します。

mBaaSで多要素認証を頑張る

昨今のセキュリティ問題もあり、注目されているのが多要素認証です。IDとパスワード以外の情報を使って認証を行うもので、ワンタイムコードを生成したり、SMSで別途コードを送ったりします。 執筆時点(2019年08月)のmBaaSは標準では多要素認証をサポートし…

Expo と mBaaSを組み合わせてプッシュ通知を送信する

React Nativeの開発環境を提供するExpoというサービスがあります。その一機能としてプッシュ通知が使えるのですが、トークンを保存しておく場所がありません。そこでNCMBをトークン保存場所として利用し、プッシュ通知を手軽に送信できるようにしましょう。 …

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を使った非同期処理です…

青山学院大学の学生さんと考える「プログラミング教育とは?」

青山学院大学社会情報学部では、「企業や行政の実際の問題を明確化し、新規性のある解決策を提案する」というPBL型の授業が行われています。 *:PBL(Project-Based Learning) 今年は富士通クラウドテクノロジーズも企業テーマの1つとして採択していただき…

スクリプトで検索したデータを大量削除する【Ruby】

スクリプト機能を使ってクラス内のオブジェクトを一度に大量削除する方法を紹介します。

SPAJAM2019に参加しました!!

6月8日, 9日の2日間で行われたSPAJAM東京B予選にmBaaSチーム5名で参加しました! mBaaSチーム(ニフクラ mobile backendチーム)でのハッカソンはもちろんのこと、ハッカソン初心者が何名かいる中での挑戦でした! いつもはプラットフォームを提供している私…

Webアプリ/Monacaアプリ開発を高速化するローカルトンネルサービスまとめ

アプリ開発を素早く進めていく上で大事なのは、ミーティングなどの内容を目の前で反映し、動作確認を進めていくというスピード感です。アニメーションなどの動きが肝になるアプリ開発では、持ち帰ってデザインに反映して…といったやり方では遅すぎます。逆に…

ファイルストアでメタデータを扱う方法

ファイルストレージとして便利なファイルストアですが、条件を付けて検索したいと思うことがあります。ファイルストアの検索ではファイル名やmimeType、ファイルサイズなどが指定可能です。 しかし、これだけでは物足りない場合もあるでしょう。そこで使って…

PWAにおけるmBaaSの安全な利用法を考える

PWA(Progressive Web Apps)において、mBaaSを使うことでサーバサイドの面倒な実装を省いて、すぐにWebアプリケーションを開発できるようになります。ぜひ使って欲しいのですが、いくつか注意点があります。今回はそんなmBaaSをPWAで利用する上での注意点を…

オフライン対応を考えよう

mBaaSはインターネット接続ありきのサービスです。ネットワークが不安定だったり、オフラインだと多くの機能が利用できません。しかしユーザはそんなことには構わずデータを取得したり、保存したいと考えるでしょう。 そこで使ってみたいのがsaveEventually…

サブクエリを使いこなそう

データストアのクラス同士でデータを連係させる場合、二つの方法が用意されています。 ポインター リレーション ポインターは1対n、リレーションはn対nのデータ関係性において利用が可能です。しかし、データ連係を行わずに各クラスにデータを投入してしまっ…

スクリプト機能での各プログラミング言語のバージョンについて

スクリプト機能はサーバレスで任意のコードを実行できる機能です。mBaaSでは足りていない機能を補ったり、サーバを用意せずにサーバサイドでコードを実行できます。プログラミング言語としては現在、Node.jsとRubyに対応しています。 2019年04月現在、Node.j…

外部サイトのデータ取得にスクリプトを使う

アプリの中で、外部サイトからデータを取得し、その一部のデータを表示や処理に用いるということはよくあります。Web APIとして公開されていれば問題ありませんが、時にHTMLから取得したり、JSONであってもCORSが設定されていなくてエラーになることもありま…

KotlinでNCMBを使う:ファイルストアへテキストファイルをアップロード/ダウンロードする

AndroidではJavaの他、Kotlinも公式言語としてサポートされています。KotlinはJVM上で動作する静的な型付け言語で、言語体系がSwiftに似ています。そのため、Swiftに慣れた開発者であればすぐに習得できるかと思います(似ているので逆に戸惑う部分もあるの…

★☆3年ぶり★☆岡山情報ビジネス学院の皆さんがFJCTに来社されました!

岡山情報ビジネス学院の皆さんと記念撮影 先日5月31日(木)、専門学校岡山情報ビジネス学院の2年生33名+引率の先生2名が遥々岡山県より3年ぶりに来社されました!約2時間ほどの滞在で、会社やサービス、エンジニアとしての働き方などをご紹介する座学セミ…