为你的 Unity 游戏打造的后端

玩家账号、排行榜、远程配置、云存档和每日奖励——一个 Unity SDK、一个控制台,几分钟即可就绪。

Free 套餐支持 1,000 名玩家,无需信用卡。

一个后端,适配所有引擎

即时游客登录,重启后依然保留;之后可通过安全网页关联邮箱或 Google 账号,进度随之迁移。

玩家登录方式coins
NovaGoogle1,240
Kaito邮箱860
Luna游客410
RakaGoogle1,975
Mira游客95
POST/v1/auth/guest
{ "ok": true, "auth_method": "guest", "player": { "player_id": "player_3f9c…", "display_name": "Guest 4821" } }

在你的引擎里,只需几行代码

登录玩家、提交分数、读取实时配置。每次调用都会返回结果,而不是抛出异常。

Unity
适用于 Unity 2021.3+ 的 C# SDK,支持 async 和协程,并附带 Starter 场景。
Godot
适用于 Godot 4.2+ 的 GDScript 插件,提供 autoload 和编辑器内设置。
Web / JavaScript
单个 JavaScript 文件,适用于 HTML5 游戏、网站和 Node.js。
REST API
纯 HTTPS + JSON,适用于任何其他引擎或服务器。
using MajacloudSdk;
using UnityEngine;

public class GameStart : MonoBehaviour
{
    private async void Start()
    {
        // Restores the saved session or creates a guest
        var signIn = await Majacloud.Auth.SignInAnonymouslyAsync();
        if (!signIn.Ok)
        {
            Debug.LogWarning(signIn.Error.Message);
            return;
        }
        Debug.Log("Hello " + signIn.Value.DisplayName);

        await Majacloud.Leaderboards.SubmitScoreAsync("coins", 120);
        int damage = Majacloud.RemoteConfig.GetInt("enemy_damage", 25);
    }
}

在线游戏所需的一切

每项服务都可以独立使用,并通过相同的 SDK 调用工作,从编辑器到 WebGL 和移动端构建均适用。

无需发版,随时调整游戏

每次更改都有版本记录并经过签名。一键回滚任意值,游戏会在下次拉取时获取。

远程配置
远程配置
当前版本 14 RSA-SHA256
键类型值
enemy_damagenumber30
player_speednumber4.5
double_xp_weekendbooleantrue
event_bannerstringLunar festival: 2× coins!
shopjson{"sale": 0.2}
enemy_damage 25 → 30恢复

了解每一位玩家

即时游客登录,重启后依然保留;之后可通过安全网页关联邮箱或 Google 账号,进度随之迁移。

玩家
玩家登录方式
NovaGoogle
Kaito邮箱
Luna游客
RakaGoogle
Mira游客
Nova
player_3f9c…
钱包
coins1,240
gems15
文档
progressr12
settingsr3

云存档

按玩家保存任何可序列化对象,并带有修订号,两台设备永远不会悄无声息地互相覆盖。

云存档
Phone
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 9 } }
200"revision": 13
Tablet
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 8 } }
409revision_mismatch · current_revision 13

用真实请求调试

查看每日请求量和错误,以及每条请求的状态、延迟和请求 ID。

日志
请求量
7 天
请求状态延迟
POST/v1/leaderboards/coins/scores20034 ms
GET/v1/config30412 ms
PUT/v1/cloud/progress40921 ms
POST/v1/rewards/claim20019 ms
POST/v1/auth/refresh20018 ms

从零到第一次请求

  1. 创建项目

    注册并创建项目,记下项目 ID 和客户端密钥。Starter 内容会自动为你添加。

  2. 导入 Unity SDK

    导入 .unitypackage,打开 Tools ▸ Majacloud ▸ Setup,粘贴密钥并测试连接。

  3. 点击 Play

    Starter 场景会登录、提交分数、保存进度、领取奖励并读取配置——然后复制你需要的部分即可。

不用 Unity?同一后端也支持 Godot, Web SDK.

1,240Space Runner
Coins每周重置
1Nova12,480
2Kaito12,290
3Luna12,010
4Raka11,840
5Mira11,620
每日奖励领取 +50

默认安全

游戏后端中常见的问题,我们都已为你处理好。

  • 私密密钥以哈希形式存储且只显示一次;公开的客户端密钥只能代表已登录的玩家执行操作。
  • 短时效访问令牌,配合轮换的刷新令牌和重用检测。
  • 远程配置使用 RSA-SHA256 签名,并在使用前于设备上验证。
  • 分数、奖励和钱包均在服务器端校验,绝不信任客户端。
  • 每个项目都有速率限制、每日配额,以及带请求 ID 的逐条请求日志。
GET/v1/config200
{
  "ok": true,
  "version": 14,
  "configs": [
    { "key": "enemy_damage", "type": "number", "value": "30" },
    { "key": "double_xp_weekend", "type": "boolean", "value": "true" }
  ],
  "checksum": "9c41f0…e27b",
  "signature": "Kq3vR8yJ…Wm0=",
  "signature_algorithm": "rsa-sha256",
  "signing_key_id": "config-v1"
}

简单的月度定价

通过 Midtrans 使用 QRIS、电子钱包、银行转账或银行卡以印尼盾付款。不会自动扣费,想续订时再续。

Free

发布小型游戏所需的一切。

¥0 / 月

 

  • 4,000 API 请求 / 天
  • 1,000 玩家账号
  • 1 项目
  • 1 排行榜 / 项目
  • 3 远程配置键
  • 32 MB 云存档空间
免费开始

Starter

为拥有真实社区的游戏留出成长空间。

≈ ¥12.61 / 月

以印尼盾结算:Rp29.000

  • 10,000 API 请求 / 天
  • 10,000 玩家账号
  • 3 项目
  • 3 排行榜 / 项目
  • 10 远程配置键
  • 256 MB 云存档空间
选择 Starter

Max

为大型高流量游戏提供最高容量。

≈ ¥130 / 月

以印尼盾结算:Rp299.000

  • 无限制 API 请求 / 天
  • 无限制 玩家账号
  • 25 项目
  • 30 排行榜 / 项目
  • 1000 远程配置键
  • 10 GB 云存档空间
选择 Max

额度按账号计算。达到上限时,API 会返回明确的 plan_limit 错误,不会删除任何数据。 以 CNY 显示的价格为约数,仅供参考。实际通过 Midtrans 以印尼盾(IDR)收费,最终汇率由你的银行或电子钱包决定。

常见问题

支持哪些 Unity 版本?

Unity 2021.3 LTS 及更高版本,包括 Unity 6。SDK 不依赖任何第三方库,支持内置渲染管线、URP 和 HDRP。

支持 WebGL 和移动端吗?

支持。SDK 从不使用线程,因此异步调用可在 WebGL、Android 和 iOS 上运行。每个异步方法还提供协程版本。

可以在 Godot 或网站上使用吗?

可以。Unity 是主要 SDK,此外还有 Godot 4 插件,以及适用于 HTML5 游戏、网站和 Node.js 服务器的无依赖 JavaScript SDK。它们都调用同一个 REST API,因此你也可以从任何其他引擎调用。

玩家离线时会怎样?

远程配置会继续使用已验证的本地缓存,游客会话会在下次启动时恢复,而且每次调用都会返回带错误码的结果,而不是抛出异常。

达到套餐上限会怎样?

新建内容会被拒绝,并返回 plan_limit 错误,你的游戏可以将其显示出来。现有玩家和数据不受影响,升级后限制会立即解除。

如何付款?

选择套餐,通过 Midtrans 支付一个月的费用。再次支付相同套餐会再增加一个月。周期结束前我们会发邮件提醒你。

可以查看或删除玩家数据吗?

可以。控制台会显示每位玩家及其分数、存档和钱包,你可以删除其中任何一项。删除项目会移除其所有数据。

今天就为你的游戏添加在线功能

免费开始,几分钟内即可发出第一次请求。