プログラミング系のネタをまとめていきます。

kii Cloudとは


http://jp-cloud.kii.com/mbaas/index.html
  • 日本発グローバルMBaaS
  • 月間100万 API コール/1GBストレージまで無料
  • サーバサイドの開発・運用が不要
  • アプリ分析

導入

利用登録


トップページから、メールアドレスとパスワードを設定するだけ。

http://jp-cloud.kii.com/index.html

開発者ページ

for Unity


開発者サイトのダウンロードページから、
Cloud SDK v2.7.1 (KiiCloudUnitySDK_Release_ad7791d.unitypackage)
をダウンロード。

Unityへの導入手順
http://documentation.kii.com/ja/guides/unity/quick...


Kii Game Cloud Demo


Asset Store からインポート

インポート後、いくつか設定が必要。
  • Tag に "Block", "MissFrame" を追加。
→ GameObjectに再設定。
  • Titleから進むとバーの動作がおかしかったので、移動量の処理を修正。
  • ゲームオーバー画面のUpdate()処理に画面をタッチするとタイトルに戻る処理があり、スコア送信ができなかった。
→ 画面タッチ処理をコメントアウト。

自分で作成した Kiiアプリの Key と ID を設定し、自分の管理ページからアクセス状況を確認。

1_GameTitle


KiiInitilaizeBehaviour でKiiを利用するための初期設定。
App ID, App Key を設定する。

Loginボタンを押したら、 2_KiiCloudLoginへ

2_KiiCloudLogin


ユーザー登録、ログインが終わったら、3_GameMain のシーンに移る。
Register

ユーザー名、パスワードを設定して登録。

// ユーザー作成
KiiUser built_user = KiiUser.BuilderWithName (username).Build ();

// パスワードを渡して生成処理
// 成功、失敗問わずコールバックが呼ばれる
built_user.Register(
	password, 
	(KiiUser user, Exception e) => 
		{
			if (e == null)
			{
				// ユーザー登録に成功
				// user は作成に成功したユーザーインスタンス
				Debug.Log ("Register completed");
			} else {
				// ユーザー登録に失敗
				Debug.Log ("Register failed : " + e.ToString());
			}
		}
	);

Login

ユーザー名、パスワードでログイン処理。

// パスワードを渡してログイン処理
// 成功、失敗問わずコールバックが呼ばれる
KiiUser.LogIn(
	username, 
	password, 
	(KiiUser user, Exception e) => 
		{
			if (e == null) {
				// ログインに成功
				// user は作成に成功したユーザーインスタンス
				Debug.Log ("Login completed");
			} else {
				// ログインに失敗
				Debug.Log ("Login failed : " + e.ToString());
			}
		}
	);


ハイスコア取得

KiiUser user = KiiUser.CurrentUser;

// ユーザースコープのBucketを取得
KiiBucket bucket = user.Bucket (BUCKET_NAME);
KiiQuery query = new KiiQuery ();
query.SortByDesc (SCORE_KEY);
query.Limit = 10;

try
{
	// ハイスコア取得
	KiiQueryResult<KiiObject> result = bucket.Query (query);
	foreach (KiiObject obj in result)
	{
		int score = obj.GetInt (SCORE_KEY, 0);
		cachedHighScore = score;
		return score;
	}
	Debug.Log ("High score fetched");
	return 0;
}
catch (CloudException e)
{
	Debug.Log ("Failed to fetch high score: " + e.ToString());
	return 0;
}

3_GameMain


このシーンではKiiCloudの処理は特に無し。

ボールが下に落ちたら、5_GameOverシーンへ。
ブロックをすべて破壊したら、4_GameClearシーンへ。

4_GameClear


ハイスコア送信処理。

KiiUser user = KiiUser.CurrentUser;

// ハイスコア保存用のバケットを作成
KiiBucket bucket = user.Bucket (BUCKET_NAME);

// オブジェクト新規作成
KiiObject kiiObj = bucket.NewKiiObject ();

// ハイスコアを登録
kiiObj [SCORE_KEY] = score;

// KiiCloudへ送信
kiiObj.Save((KiiObject obj, Exception e) => 
	{
		if (e != null)
		{
			Debug.LogError(e.ToString());
		}
		else
		{
			Debug.Log("High score sent");
		}
	});

5_GameOver


やっていることは4_GameClearと同じ。

Menu

メインコンテンツ

プログラミング

機器

Macツール

各種情報

Wiki内検索

おまかせリンク

Androidアプリ

AdSense

技術書


管理人/副管理人のみ編集できます