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

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

スクリプトでできること

f:id:mbaasdevrel:20190802215821p:plain

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

ガチャ機能

ゲームでよくあるガチャ機能をサーバレスに実装します。ガチャ機能をmBaaSで実装する場合、クライアントサイドにコードを記述してしまうと、ネットワークを監視することで不正なデータ操作を行われてしまう可能性があります。ロジックをサーバサイドに預けることで、不正なアクセスを防ぐことができます。

同時操作

複数のデータ操作をまとめて一回で行えるようになります。mBaaSでデータ操作を行う場合、ネットワークアクセスが必須なので、複数リソースの操作によってネットワークアクセスも増えてしまいます。ネットワークアクセスはアプリ動作が遅延する大きな要因になります。

プラットフォームのロジック共通化

AndroidとiOS、さらにWebサイトなどでロジックを共有したいことがあるでしょう。処理をサーバサイドで行って、その結果だけを受け取るようにすればクライアントサイドでの処理は大幅に減らすことができます。アプリのメンテナンス性をよくし、サイズも小さく留められるようになります。

外部API操作

TwilioやSendGridなど、外部のAPI操作を行う際のキーを隠蔽化できます。アプリ内にキーを記述するのはセキュリティ上避けたいでしょう。サーバサイドで処理を行うことで、そうした危険性のあるコードをアプリ内から排除できます。

多要素認証

SMSやワンタイムパスワードを使った認証を実現することができます。認証処理をスクリプトを使って代行したり、特定のセキュアな処理だけ多要素認証必須にすると言った使い分けも可能です。

大量のデータ取得

データストアでは通常、一度に1000件の結果までしか取得できませんが、スクリプト側で処理を繰り返し行って、まとめて返すことで数千件のデータを一度に返すこともできます。同様に複数のポインターデータをまとめて取得し、結合した上で返却するような処理も作れます。

まとめ

スクリプトはサーバのメンテナンス不要で実行できる環境になります。ちょっとしたコードのためにサーバを用意するのが面倒な時、素早く実行できる環境としてぜひ使ってみてください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。