这是旧版 .Net SDK 的安装指南。 旧版 .Net SDK 已停止维护,请尽快切换到 新版 SDK。
支持使用 Unity 开发的 iOS、Android、UWP、Windows Desktop,以及网页游戏。
请下载 Unity Storage 最新版本的 zip 包,解压之后导入到你的 Unity 项目中。如果需要使用 LiveQuery,还需要安装下面的即时通讯 SDK。
请下载 Unity Realtime 最新版本的 zip 包,解压之后导入到你的 Unity 项目中。
安装包解压之后,每一个依赖的详细说明如下:
AssemblyLister.dll
LeanCloud.Core.dll
AVObject
AVUser
LeanCloud.Storage.dll
LeanCloud.Realtime.dll
支持以下运行时:
在 Visual Studio 执行安装 nuget 依赖:
# 安装存储,必选 PM> Install-Package LeanCloud.Storage # 安装 LiveQuery,可选,如果需要实时数据同步功能则需要安装 PM> Install-Package LeanCloud.LiveQuery # 安装即时通讯,可选,如果需要接入聊天则需要安装 PM> Install-Package LeanCloud.Realtime
首先进入 云服务控制台 > 设置 > 应用凭证 来获取 App ID,App Key 以及服务器地址。
导入基础模块:
// 导入存储模块 using LeanCloud; // 如果需要,导入聊天模块 using LeanCloud.Realtime;
在使用「数据存储」服务前,调用如下代码:
AVClient.Initialize("{{appid}}", "{{appkey}}", "https://please-replace-with-your-customized.domain.com");
请将 https://please-replace-with-your-customized.domain.com 替换为你的应用绑定的 API 域名。
https://please-replace-with-your-customized.domain.com
国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为 -MdYXbMMI)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为 -MdYXbMMI 的国际版应用,请参见这里的说明。
-MdYXbMMI
注意,云引擎内部访问 API 是通过内网,所以不需要也不应该配置 API 自定义域名。 模板项目和云引擎网站托管开发指南中的示例代码均未配置 API 自定义域名, 请勿设置 ApiServer,以免变成公网访问,影响性能。
在安装即时通讯 SDK 后,需要进入 控制台 > 数据存储 > 服务设置,在 安全设置 里面勾选 启用 LiveQuery,然后按照下面的代码初始化。
Websockets.Net.WebsocketConnection.Link(); // Unity 下不需要此行设置 const realtime = new AVRealtime(new AVRealtime.Configuration { ApplicationId = appId, ApplicationKey = appKey, RTMRouter = new Uri("https://please-replace-with-your-customized.domain.com") }); AVLiveQuery.Channel = realtime;
在使用「即时通讯」服务前,调用如下代码:
const realtime = new AVRealtime(new AVRealtime.Configuration { ApplicationId = "{{appid}}", ApplicationKey = "{{appkey}}", RTMRouter = new Uri("https://please-replace-with-your-customized.domain.com") });
在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是云引擎日志(如果在云引擎下运行 SDK)。
// 开启存储日志 AVClient.HttpLog(Debug.Log); // 开启即时通讯日志 AVRealtime.WebSocketLog(Debug.Log);
注意,在应用发布之前,请关闭调试日志,以免暴露敏感数据。
首先,确认本地网络环境是可以访问云端服务器的,可以执行以下命令:
curl "https://API_BASE_URL/1.1/date"
API_BASE_URL 为绑定的 API 自定义域名。
API_BASE_URL
如果当前网络正常会返回当前时间:
{"__type":"Date","iso":"2020-10-12T06:46:56.000Z"}
然后在项目中编写如下测试代码:
AVObject testObject = new AVObject("TestObject"); testObject["words"] = "Hello world!"; Task saveTask = testObject.SaveAsync(); await saveTask;
保存后运行程序。
然后打开 云服务控制台 > 数据存储 > 结构化数据 > TestObject,如果看到数据表中出现一行「words」列的值为「Hello world!」的数据,说明 SDK 已经正确地执行了上述代码,配置完毕。
TestObject
如果控制台没有发现对应的数据,请参考 问题排查。
SDK 安装指南基于当前最新版本的 SDK 编写,所以排查问题前,请先检查下安装的 SDK 是不是最新版本。
401 Unauthorized
如果 SDK 抛出 401 异常或者查看本地网络访问日志存在:
401
{ "code": 401, "error": "Unauthorized." }
则可认定为 App ID 或者 App Key 输入有误,或者是不匹配,很多开发者同时注册了多个应用,导致拷贝粘贴的时候,用 A 应用的 App ID 匹配 B 应用的 App Key,这样就会出现服务端鉴权失败的错误。
客户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。
.NET SDK 安装指南
这是旧版 .Net SDK 的安装指南。 旧版 .Net SDK 已停止维护,请尽快切换到 新版 SDK。
获取 SDK
Unity
支持使用 Unity 开发的 iOS、Android、UWP、Windows Desktop,以及网页游戏。
安装数据存储
请下载 Unity Storage 最新版本的 zip 包,解压之后导入到你的 Unity 项目中。如果需要使用 LiveQuery,还需要安装下面的即时通讯 SDK。
安装即时通讯
请下载 Unity Realtime 最新版本的 zip 包,解压之后导入到你的 Unity 项目中。
依赖详解
安装包解压之后,每一个依赖的详细说明如下:
AssemblyLister.dll
LeanCloud.Core.dll
AVObject
和AVUser
等所有内置类型的定义和序列化相关操作的功能LeanCloud.Storage.dll
LeanCloud.Realtime.dll
.NET 平台
支持以下运行时:
在 Visual Studio 执行安装 nuget 依赖:
初始化
首先进入 云服务控制台 > 设置 > 应用凭证 来获取 App ID,App Key 以及服务器地址。
导入基础模块:
数据存储初始化
在使用「数据存储」服务前,调用如下代码:
请将
https://please-replace-with-your-customized.domain.com
替换为你的应用绑定的 API 域名。国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为
-MdYXbMMI
)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为-MdYXbMMI
的国际版应用,请参见这里的说明。注意,云引擎内部访问 API 是通过内网,所以不需要也不应该配置 API 自定义域名。 模板项目和云引擎网站托管开发指南中的示例代码均未配置 API 自定义域名, 请勿设置 ApiServer,以免变成公网访问,影响性能。
LiveQuery
在安装即时通讯 SDK 后,需要进入 控制台 > 数据存储 > 服务设置,在 安全设置 里面勾选 启用 LiveQuery,然后按照下面的代码初始化。
请将
https://please-replace-with-your-customized.domain.com
替换为你的应用绑定的 API 域名。国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为
-MdYXbMMI
)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为-MdYXbMMI
的国际版应用,请参见这里的说明。即时通讯初始化
在使用「即时通讯」服务前,调用如下代码:
请将
https://please-replace-with-your-customized.domain.com
替换为你的应用绑定的 API 域名。国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为
-MdYXbMMI
)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为-MdYXbMMI
的国际版应用,请参见这里的说明。开启调试日志
在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是云引擎日志(如果在云引擎下运行 SDK)。
注意,在应用发布之前,请关闭调试日志,以免暴露敏感数据。
验证
首先,确认本地网络环境是可以访问云端服务器的,可以执行以下命令:
API_BASE_URL
为绑定的 API 自定义域名。如果当前网络正常会返回当前时间:
然后在项目中编写如下测试代码:
保存后运行程序。
然后打开 云服务控制台 > 数据存储 > 结构化数据 >
TestObject
,如果看到数据表中出现一行「words」列的值为「Hello world!」的数据,说明 SDK 已经正确地执行了上述代码,配置完毕。如果控制台没有发现对应的数据,请参考 问题排查。
问题排查
SDK 安装指南基于当前最新版本的 SDK 编写,所以排查问题前,请先检查下安装的 SDK 是不是最新版本。
401 Unauthorized
如果 SDK 抛出
401
异常或者查看本地网络访问日志存在:则可认定为 App ID 或者 App Key 输入有误,或者是不匹配,很多开发者同时注册了多个应用,导致拷贝粘贴的时候,用 A 应用的 App ID 匹配 B 应用的 App Key,这样就会出现服务端鉴权失败的错误。
客户端无法访问网络
客户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。