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

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

Unityからスクリプト機能を呼び出す

mBaaS上に任意のコードを保存し、実行できるスクリプト機能ですが、特に使われると思うのがゲーム分野です。チート対策であったり、ガチャ機能などに使えると考えています。

その筆頭とも言えるのがUnityではないでしょうか。今回はUnity SDKからの実行方法を紹介します。

Unity SDKを組み込む

任意のUnityプロジェクトへUnity SDKを組み込む方法はイントロダクション (Unity) : クイックスタートを参照してください。基本的にはNCMB.unitypackageをインポートして、空のゲームオブジェクトを作ってキーを設定する程度です。

スクリプトを実行する

実際に呼び出し方ですが、次のようなコードを書きます。NCMBScriptのインスタンスを作る際に、一つ目の引数が実行するスクリプトのファイル名、二つ目がHTTPメソッドになります。

後はExecuteAsyncを実行します。HTTPヘッダー、データ、クエリの3つを指定できます。データやクエリはDictionaryで定義してください。

NCMBScript script = new NCMBScript ("helloworld.js", NCMBScript.MethodType.GET);
// パラメータを使う場合
Dictionary<string, object> query = new Dictionary<string, object> (){ { "name", "tarou" } };
script.ExecuteAsync (null, null, query, (byte[] result, NCMBException e) => {
  if (e != null) {
    // 失敗
  } else {
    // 成功
    Debug.Log(System.Text.Encoding.UTF8.GetString(result));
  }
});

実行後、非同期で結果が返ってきます。スクリプト側から送信したデータはバイト文字列になって返ってきますので、 System.Text.Encoding.UTF8.GetString(result) などとして文字列にします。さらにこれをLitJsonなどを使ってオブジェクトに変換すれば使いやすくなるでしょう。

ぜひUnity SDKでもスクリプトをお試しください!