2013年11月11日月曜日

ザッカーバーグもいいねって言ったと思うBaaSのParse.comからUnitySDKが出てたので使ってみた


Parse.comとFacebookの関係が知りたい人はこの記事を読んで。
Facebookの傘の下に入ったParseが初のデベロッパカンファレンスを開催

ってことでどれくらい簡単に使えるのか試しに使ってみました。

やったこと

1.Parse.comに書いてたQuickStart
2.ParseUserを使ってユーザ登録
3.ParseObjectを使ってデータ登録
4.Parse.comのDataBrowserを使ってどんなデータが入ったか確認

1.Parse.comに書いてたQuickStart

まずはParse.comにアクセス
ナビゲーションバーの Help → QuickStart
Unity選んでNewProject選んで・・・ま、書いてある通りやった。
そしたら書いてある通りの結果になった。
つまりQuickStartは簡単だった。

2.ParseUserを使ってユーザ登録

ParseUserっていうクラスが用意されてて、それを使うとユーザアカウント周りが簡単に作れるっていうので簡単に使ってみた。
でも、Unityでユーザ登録とかパスワード入力してログインとかはしたくないから、デバイス情報使って自動ログインさせることにした。
空のGameObject作って↓のスクリプトを追加
using UnityEngine;
using System.Collections;
using Parse;

public class ParseLoginScript : MonoBehaviour {

    // Use this for initialization
    void Start () {
        string deviceId = SystemInfo.deviceUniqueIdentifier;
       
        ParseUser.LogInAsync(deviceId, deviceId).ContinueWith(t=>{
            if(!(t.IsFaulted || t.IsCanceled)){
                Debug.Log ("login success");
            }else{
                Debug.Log ("login failure");
                var user = new ParseUser(){
                    Username = deviceId
                    , Password = deviceId
                };
                user.SignUpAsync().ContinueWith(t2=>{
                    if(!(t2.IsFaulted || t2.IsCanceled)){
                        Debug.Log ("signup success");
                    }else{
                        Debug.Log ("signup failure");
                    }
                });
            }
        });
    }
   
    // Update is called once per frame
    void Update () {
       
    }
}
初回実行すると"signup success"って出て、2回目実行すると"login success"って出た。
だけど起動してからsuccessするまでに1,2秒かかった。そんなもんか。
ユーザはもういいや。

3.ParseObjectを使ってデータ登録

どうやらParseUserと紐付けたデータを作ることができるみたいなので、そんな感じでやってみる。
ParseUser.CurrentUserで今ログインしてるユーザをとってこれるらしい。
↓のスクリプトを適当に呼び出し。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Parse;

public class ParseObjectScript {
    public void SetEvents() {
        var ev = new ParseObject("Event");
        ev["Title"] = "aaa";
        ev["User"] = ParseUser.CurrentUser;
        ev.SaveAsync().ContinueWith(t=>{
            if(!(t.IsFaulted || t.IsCanceled)){
                Debug.Log ("save success");
            }else{
                Debug.Log ("save failure");
            }
        });
    } 

    public IEnumerable GetEvents(){
        IEnumerable events;
       
        ParseObject.GetQuery("Event")
            .WhereEqualTo("User", ParseUser.CurrentUser)
            .FindAsync()
            .ContinueWith(t =>
            {
                Debug.Log ("load success");
            });
        return events;
    }   
一応saveもloadも成功したっぽい。

4.Parse.comのDataBrowserを使ってどんなデータが入ったか確認

QuickStartでも見たと思うけどDashboard見てみる。
テストで追加したユーザと合わせて2ユーザ作られてる。
そしてなぜかすごいAPIリクエスト数になってる??
DataBrowserで実際に保存されてるデータを確認してみる。
ユーザクラスちゃんと作られてる。
objectIdとcreatedAtとupdatedAtは勝手に入るらしい。
イベントクラスも作られてる。
LinqToSqlいいね。

って感じでかなり簡単に使えました。
データの保存以外にもPUSH通知とかJOB作れたりだとか画像処理とかもできるらしいので、気力があるときに使ってみたい。

スポンサーリンク

Related Posts Plugin for WordPress, Blogger...