mBaaSを自由に拡張できるスクリプト機能ですが、試してみたでしょうか。各SDKで実行可能になっていますので、ぜひ試してみてください。
今回はAndroidでの使用法を紹介します。
NCMB SDKを取り込む
mBaaSのSDKを取り込む方法については詳しくは紹介しませんが、イントロダクション (Android) : クイックスタート | ニフティクラウド mobile backendを参考にしてください。ちょっとした設定だけで使い始められます。
使い方
まずimportを指定します。NCMB本体の他、以下のライブラリが必要です。
import org.json.JSONObject; import org.json.JSONException; import com.nifty.cloud.mb.core.NCMB; import com.nifty.cloud.mb.core.ExecuteScriptCallback; import com.nifty.cloud.mb.core.NCMBException; import com.nifty.cloud.mb.core.NCMBScript;
実際の使い方ですが、まず最初に初期化を行います。
NCMB.initialize(this,"APPLICATION_KEY", "CLIENT_KEY");
次に例えば以下のように実行します。これはhelloworld.jsというファイルをGETメソッドで実行するという指定です。
NCMBScript script = new NCMBScript("helloworld.js", NCMBScript.MethodType.GET); JSONObject query = null; try { query = new JSONObject("{name:NCMB}"); script.executeInBackground(null, null, query, new ExecuteScriptCallback() { @Override public void done(byte[] result, NCMBException e) { Log.d("My test", new String(result)); if (e != null) { // 失敗 } else { // 成功 } } }); } catch (JSONException e) { e.printStackTrace(); }
helloworld.jsの内容は以下のようになります。ただJSONを返却するだけです。
module.exports = function(req, res) { res.status(200).json({ time: Date.now(), mgs: "Hello World" }) };
これを実行すると、次のようにログが出ます。この時点では文字列なので、JSONとしてパースすればプログラムからも使いやすくなるでしょう。
My test: {"time":1463545396182,"mgs":"Hello World"}
スクリプトを使うとアプリの中のロジックをサーバ上に保存できるようになり、iOS/Androidでロジックの重複が減らせるようになります。ぜひお試しください!