如果你要将你的App实现社交化,而此时又无法租用服务器的情况下,那么你可以选择Kii Cloud这个小插件。
首先科普下Kii Cloud吧:Kii Cloud 所提供的后端服务能够在用户采集、用户留存和用户盈利等方面给予帮助。无需任何代码便可集成用户管理、数据管理和推送通知等功能。 另外,还可以通过我们的分析功能优化你的应用程序。目前主要包括以下功能:地理定位、数据分析、数据管理、服务端扩展、消息推送、用户管理等。
Kii Cloud传送门:https://developer.kii.com/?locale=cn
本教程只使用了其存储用户数据以达到服务器功能,之所以使用KiiCloud,是其可以免费地提供给开发者,尤其方便了个人独立开发者;其次,在全球内任一个国家均可使用。
1、首先下载Kii Cloud SDK,传送门:https://developer.kii.com/v2/downloads
2、将下载好的包导入到Unity里,然后依次打开Uinty的Edit -> Project Settings -> Player,在Android下(因为我这个项目最终会打包成APK),对Internet Access设置为Require,如下图所示:
3、在Hierarchy面板下新建一个GameObject,然后命名为KiiInitializer(命名可随意),如下图所示:
接着在Project里将Kii-Libs-KiiCloudUnitySDK下的KiInitializeBehaviour拖到新建GameObject(KiiInitializer)处,如下图所示:
4、在Inspector里输入AppID和AppKey(需要在KiiCloud创建一个项目,进入该项目,点击右侧设置,如下图所示:),因为这样才能将数据互相在你App和云端间传递
5、接下来将实现在App里上传新注册用户及读取相应的用户数据:
新建一个KiiManager的cs文件,然后将以下方法写入即可:
a)注册:
public static void SignUpBehaviour(string username, string password)//注册 { KiiUser.Builder builder = KiiUser.BuilderWithName(username); KiiUser usr = builder.Build(); usr.Register(password, (KiiUser user, Exception e) => { if (e != null) { //注册失败后执行逻辑 Debug.Log("Signup failed: " + e.ToString()); } else { //注册成功后执行逻辑 Debug.Log("Signup succeeded"); } }); }
b)登陆:
public static void LogInBehaviour(string username, string password)//登陆 { KiiUser.LogIn(username, password, (KiiUser user, Exception e) => { if (e != null) { //登陆失败后执行逻辑 // process error } else { Debug.Log("Login succeeded>>>>"); //登陆成功后执行逻辑 } }); }
c)上传用户分数:
public static void sendScore(int score, string icon,string uriRecord)//上传分数 { KiiUser user = KiiUser.CurrentUser; KiiObject kiiObj; bool saveUriFlag = false; Uri uri; if (uriRecord == "") { KiiBucket bucket = Kii.Bucket("scores"); kiiObj = bucket.NewKiiObject(); saveUriFlag = true;//第一次启动,保存分数成功后要保存Uri在本地 } else { uri = new Uri(uriRecord);//初始化 kiiObj = KiiObject.CreateByUri(uri); } kiiObj["score"] = score; kiiObj["icon"] = icon; kiiObj["name"] = user.Username; kiiObj.Save((KiiObject obj, Exception e) => { if (e != null) { Debug.LogError("Failed to save score" + e.ToString()); } else { if (saveUriFlag) { PlayerPrefs.SetString("uri", kiiObj.Uri.ToString()); } } }); }
d):读取KiiCloud数据,并在App里显示出来(下面的函数只读取数据,其他地方调用即可):
public static void getScoreBoard(int limit)//获取排行榜数据
{
List<UserInfo> userinfo = new List<UserInfo>();
KiiBucket bucket = Kii.Bucket("scores");
KiiQuery query = new KiiQuery();
query.SortByDesc("score");
query.Limit = limit;// 10;
// Query the bucket
bucket.Query(query, (KiiQueryResult<KiiObject> result, Exception e) =>
{
if (e != null)
{
Debug.Log("handle error---" + e);// handle error
return;
}
foreach (KiiObject obj in result)
{
// Do something with the first 10 objects
UserInfo user = new UserInfo();
user.icon = obj["icon"].ToString();
user.name = obj["name"].ToString();
user.bestScore = obj["score"].ToString();
userinfo.Add(user);
}
});
}
经过上面的几个步骤,可以实现新用户注册,旧用记登录,新数据存储和读取数据功能,当上传了数据后,可以在KiiCloud平台查看所有的用记数据,如下图所示:
进入分析菜单,可以直接修改相应的用户数据,也可在平如上直接对其进行修改:
Kii Cloud强大的功能同样能实现用户的数据分析,大家有兴趣可以研究下,官网有相应的文档,记得以前有中文的,现在貌似只有英文和日文,orz.....