在Unity下利用Kii Cloud插件实现社交功能

如果你要将你的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.....

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值