FC2ブログ
11 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 01

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】NCMBの簡単な使い方。データの保存の仕方。公式のマニュアルみれば大体わかるとおもうけどね! 

おはようございます。坂内っす。

先週金曜あたりにこんなTLが流れていました。


で、いざ話を聞いてみると、軽いソシャゲ並みの情報をDBに登録したいとのこと。
いやいや、そんなのNCMBじゃなくてサーバにDB建ててやらんと!ってのが本音ですが、調べてみると、ハルシオンブログにNCMBという言葉は2回でているものの、使い方書いてなかったので、いいネタになるかと思い、本日簡単に紹介!

最近でもないけどNCMBって言葉聞きません?
(N)Nifty(C)Cloud(M)Mobile(B)Backend
かな?あれ?そうなのかな?記憶で書いてます。

ICBMでもICMBでもなんでもありません。

ニフティーさんのクラウドでデータ管理とかができるよーってシステムですね。

http://mb.cloud.nifty.com/

うちもいくつかのアプリで使用しています。

まずはこちらでユーザ登録しましょう。
料金形態はいくつかありますが、BASICコースだと月200万回のAPIリクエストまで等の制限はありますが、無料で使えますね。


【NCMBへの連携方法】
①まずはNCMB上でアプリを登録しましょう


アプリを登録すると、アプリケーションキーとクライアントキーが決められます。
こちらは後でアプリに連携する際に使用するので、おぼえt(いつでも見れます)

②SDKをもらおうよ
アプリの登録が終わったら、NCMBのページの上部ドキュメントを押して、SDKダウンロードを選択します。
基本的な使い方はこのドキュメントをみればわかるんですけどね。

③SDKのパッケージをUnityにいれまーす
まっさらなプロジェクトにNCMBを入れるとこんな感じ。


開くといっぱいでてくるので、写真は撮ってません。

④お試し画面作成


簡単にこんな画面を作ってみます。

で、こんなコードを書いてみます。
[TestNCMBManager.cs]
using UnityEngine;
using UnityEngine.UI;
using System.Linq;

public class TestNCMBManager : MonoBehaviour {

public InputField inpNameObj;
public Dropdown drpAgeObj;
public ToggleGroup tglSexCodeGroupObj;
public InputField inpCommentObj;

public void OnClickSubmit() {
string name = inpNameObj.text;
string age = drpAgeObj.options[drpAgeObj.value].text;
string sex = tglSexCodeGroupObj.ActiveToggles().First().GetComponentsInChildren()
.First(t => t.name == "Label").text;
string comment = inpCommentObj.text;

Debug.Log("名前:" + name + "\r\n年齢:" + age + "\r\n性別:"
+ sex + "\r\nコメント:" + comment);
}
}


「登録するよ」ボタンを押すとこうなります。


これをNCMBに登録してみましょう。

⑤まずはNCMBのオブジェクトを用意します
空のGameObjectを作成し、オブジェクト名を「NCMBSettings」に変更します。
そのオブジェクトに、Assets->NCMB->NCMBSettings.csのクラスを付けます。
NCMBSettingsの「Application Key」と「Client Key」は①で作成したキーを入れておきます。


⑥NCMBにデータを登録するようにコードを変更
[TestNCMBManager.cs]
using UnityEngine;
using UnityEngine.UI;
using System.Linq;
using NCMB;

public class TestNCMBManager : MonoBehaviour {

public InputField inpNameObj;
public Dropdown drpAgeObj;
public ToggleGroup tglSexCodeGroupObj;
public InputField inpCommentObj;

public void OnClickSubmit() {
string name = inpNameObj.text;
string age = drpAgeObj.options[drpAgeObj.value].text;
string sex = tglSexCodeGroupObj.ActiveToggles().First().GetComponentsInChildren()
.First(t => t.name == "Label").text;
string comment = inpCommentObj.text;

Debug.Log("名前:" + name + "\r\n年齢:" + age + "\r\n性別:" + sex
+ "\r\nコメント:" + comment);
Write_NCMB(name,age,sex,comment);
}

private void Write_NCMB(string name,string age,string sex,string comment) {
// TestDataObjectを生成
NCMBObject testClass = new NCMBObject("TestDataObject");

// オブジェクトに値を設定
testClass["name"] = name;
testClass["age"] = age;
testClass["sex"] = sex;
testClass["comment"] = comment;

// データストアへの登録
testClass.SaveAsync((NCMBException e) => {
if(e != null) {
Debug.Log("保存に失敗しました。\n ErrorCode : " + (string)e.ErrorMessage + "\n");
} else {
Debug.Log("保存に成功しました。\n objectId : " + (string)testClass.ObjectId + "\n");
}
}
);
}
}


データの保存は基本SaveAsyncで行う感じです。
クラスとしてデータストアの名前(DBのテーブル名みたいなの)を決めます。
NCMBObject testClass = new NCMBObject("TestDataObject");

その後、項目と、中に入れるデータを用意します。
testClass["name"] = name;
testClass["age"] = age;
testClass["sex"] = sex;
testClass["comment"] = comment;

で、testClass.SaveAsyncをすると…



成功と出ました!!!

これで、NCMBの方のデータストアを確認すると…




簡単!これだけでデータの保存ができます!!

他にもログインなどの機能もありますね。
こちらは公式の方見て頂ければと。
http://mb.cloud.nifty.com/doc/current/tutorial/tutorial_unity.html

さぁ、これで君もNCMBダー!

ってことで、簡単にですが、NCMBの使い方でした。

あでゅ~ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/494-78c9e467
この記事にトラックバックする(FC2ブログユーザー)