Unity SDK
MAJACLOUD 的主要 SDK:适用于 Unity 的 C# SDK,提供 async/await 和协程 API、设置窗口以及 Starter 示例。
代码注释和 API 名称保留英文,以便与 SDK 保持一致。
要求#
- Unity 2021.3 LTS 或更高版本,包括 Unity 6。内置渲染管线、URP 和 HDRP 均可使用:SDK 不包含任何渲染代码。
- 仅使用 Unity 内置模块(UnityWebRequest、JSON、uGUI)。示例使用了 TextMesh Pro。
- 支持编辑器、Windows、macOS、Linux、Android、iOS 和 WebGL。SDK 不使用线程,因此在 WebGL 上使用 async/await 是安全的。兼容 IL2CPP。
安装#
- 从项目页面或下载页面下载
.unitypackage。 - 在 Unity 中选择 Assets ▸ Import Package ▸ Custom Package…,选中该文件并导入全部内容。
- 当 Unity 提示为示例导入 TMP Essentials 时,选择接受。
所有内容都位于 Assets/Majacloud:Runtime(SDK)、Editor(设置工具)、Samples/Starter 和 Tests。
连接项目#
Tools ▸ Majacloud ▸ Setup(也可在 Project Settings ▸ Majacloud 中找到)会写入 Assets/Resources/MajacloudSettings.asset。SDK 会在第一个场景加载前根据它自动完成初始化。
| 字段 | 值 |
|---|---|
| Base URL | 此安装的地址。 https://majacloud.majanite.com |
| Project ID | 控制台 ▸ API 密钥。 |
| Client Key | 以 pk_live_ 开头的公开密钥。可以安全地打包进构建。 |
Test connection 会保存项目名称、套餐和远程配置公钥,从而将签名验证固定到你的服务器。
sk_live_…)放入游戏构建或网页中。任何交付给玩家的内容都可能被读取。通过代码配置#
在运行时创建设置,例如让开发构建指向测试服务器:
// Switch environments from code (e.g. a staging server in development builds)
var settings = ScriptableObject.CreateInstance<MajacloudSettings>();
settings.Configure("https://staging.yourstudio.com", "<project id>", "pk_live_…");
Majacloud.Initialize(settings);Async 和协程#
每个 async 方法(…Async)都有一个接受回调的协程版本,供不使用 async/await 的代码调用。
// Every async method has a coroutine version with a callback
StartCoroutine(Majacloud.Leaderboards.GetTop("coins", 10, result =>
{
if (result.Ok) Debug.Log(result.Value.Total + " players");
}));Starter 示例#
Samples/Starter/Scenes/MajacloudStarter.unity 包含五个标签页:Leaderboard、Cloud save、Rewards、Config 和 Account。它依赖添加 Starter 示例内容所创建的内容。
Samples/Starter/Prefabs 中有可复用的预制体:MajacloudLeaderboardView、MajacloudPlayerBadge 和 MajacloudDailyRewardButton。将它们拖入你的 UI,并在 Inspector 中设置排行榜标识符或奖励键。
WebGL 和移动端#
- 请通过 HTTPS 提供 WebGL 构建:浏览器会阻止
https://页面发出的http://请求。API 已经发送了 WebGL 所需的 CORS 头。 - 浏览器只允许通过点击打开新标签页。在 WebGL 上关联账号时,请先启动流程,再在按钮处理函数中打开它(参见玩家)。
- 在手机上连接你电脑上的服务器进行测试,同样需要 HTTPS(或者仅在开发时,在服务器上启用
ALLOW_INSECURE_HTTP,并在 Player Settings 中允许 HTTP 下载)。
编辑器菜单#
| 菜单项 | 作用 |
|---|---|
Tools ▸ Majacloud ▸ Setup | 密钥、连接测试和行为设置。 |
Tools ▸ Majacloud ▸ Open Starter Sample | 打开 Starter 场景。 |
Tools ▸ Majacloud ▸ Rebuild Starter Sample | 重新生成 Starter 场景和预制体。 |
Tools ▸ Majacloud ▸ Export .unitypackage | 将 SDK 导出为 .unitypackage。 |