美文网首页APIcloud
LeanCloud的使用

LeanCloud的使用

作者: 超级大柱子 | 来源:发表于2016-02-02 23:20 被阅读2082次

0.LeanCloud简介

a.比之前介绍的ApiCloud更合适Native开发者的云端服务器

b.官网的文档写的非常棒(暂时是我发现同类中最好的的文档)

c.看这篇文章之前推荐先看看我的另一篇文章:Unity中的回调函数,协程,基于任务的异步模式, 了解TAP如何使用.

d.这里只做最精简的总结,和列出Unity中的坑

e.官网:LeanCloud

1.在Unity中使用LeanCloud

(下载AVOSCloud.Unity.dll)

导入dll到Unity,引用命名空间

using AVOSCloud;

新建一个AVObject,数据格式如下

var gameScore = new AVObject("GameScore")
{
    { "score", 1338 },
    { "playerName", "Peter Burke" },
    { "cheatMode", false },
    { "skills", new List<string> { "FBI", "Agent Leader" } },
};

注册一个新用户

    void Singup(){
        var user = new AVUser ();
        user.Username = SystemInfo.deviceUniqueIdentifier;  //唯一识别码
        user.Password = SystemInfo.deviceUniqueIdentifier.Substring(2, 14);
        user["testA"] = "aaa";
        user.SignUpAsync ().ContinueWith (t => {
            if(t.IsFaulted || t.IsCanceled){
                Debug.Log(t.Exception.Message);
            } else {
                Debug.Log(t.Exception.Message);
                string uid = user.ObjectId;
            }
    });

登录已有用户

    void Login(){
        AVUser.LogInAsync (username, password).ContinueWith (t => {
            if(t.IsFaulted || t.IsCanceled){
                Debug.Log(t.Exception.Message);
            }
            else {
                string str = AVUser.CurrentUser.Get<string>("Username");
                Debug.Log(str);
            }

        });
    }

数据常用方法

    void Updata(){
        //updata data
        AVObject ao = AVUser.CurrentUser;
        ao["testA"] = "a5";

        //add remove
        ao.Add ("testB", "b1");
        ao.Remove("testA");

        //link focusType 使用链接对象
        AVObject sceneData = new AVObject("GirType");
        sceneData["typeName"] = "class1";
        ao ["SceneData"] = sceneData;

        //Async
        ao.SaveAsync ();


    }

链接对象的读取

    void LoadFoucsType(){
        //loadd focusType
        AVObject theSceneData = AVUser.CurrentUser.Get<AVObject> ("SceneData");
        Task<AVObject> fetchTask = theSceneData.FetchIfNeededAsync ();
        Debug.Log (theSceneData.Get<string> ("typeName"));
    }

需要注意,当从 LeanCloud 上读取某一对象的数据时,默认的 Fetch 方法不会加载与之相关联的对象的字段,只有执行以下代码后,这些关联数据字段(如上例中 theSceneData 的 typeName 字段)才会被实例化。

2.可能会遇到的坑

a.AVUser.Passward无法被识别,导致无法创建新用户

如果你用的是MonoDevelop而不是VC作为编辑器,恭喜你,你会遇到这个坑,解决方法:
a1.去Mono官网下载最新的Mono + GTK#
http://www.monodevelop.com/download/
a2.安装完成之后,在MonoDevelop中设置.Net版本为最新版
a3.MonoDevelop编辑器中还是会提示AVUser.Passward无法被识别,不管它,运行会成功的.

b. Task.Result无法被识别

解决方法:不管它,手动完整输完它,运行会成功的.

相关文章

  • leanCloud的使用

    1.创建应用 2.创建class 3.按教程来 4.demo 评论demo:http://js.jirengu.c...

  • LeanCloud的使用

    0.LeanCloud简介 a.比之前介绍的ApiCloud更合适Native开发者的云端服务器 b.官网的文档写...

  • Vue + LeanCloud 实现周报系统

    使用 Vue + LeanCloud 开发的一个周报系统,纯前端实现。并利用 LeanCloud 云引擎服务,实现...

  • Hexo 集成 Valine 评论系统

    第一步:注册Leancloud,获取 AppID 和 AppKey 推荐使用国际版,点击进入Leancloud官网...

  • LeanCloud工具的使用

    LeanCloud一个Serverless云服务,为产品开发提供强有力的后端支持。可以支持数据存储,内建账户登录等...

  • LeanCloud 与阿里云到底有什么区别?

    不是很了解 LeanCloud(LeanCloud)的开发者经常会问「LeanCloud 与已有的很多云服务有什么...

  • leancloud使用指南

    初始化一个数据表 云端 新建一个leancloud项目,获取该项目的APP_ID和APP_KEY 本地 varAP...

  • leancloud使用指南

    初始化一个数据表 云端 新建一个leancloud项目,获取该项目的APP_ID和APP_KEY 本地 AV初始化...

  • Swift 如何使用leancloud

    Swift 使用leancloud 注册 1. 安装sdk 在Podfile文件中添加代码 在命令行运行 2. ...

  • leancloud 初体验

    什么是 leancloud leancloud 是BaaS服务(后端即服务:Backend as a Servic...

网友评论

    本文标题:LeanCloud的使用

    本文链接:https://www.haomeiwen.com/subject/qfqekttx.html