ニフクラmBaaSお役立ちブログ

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

Androidでスクリプトを実行してみよう

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でロジックの重複が減らせるようになります。ぜひお試しください!

スクリプト (Android) : 基本的な使い方 | ニフティクラウド mobile backend