故障排除

最常见的问题及其解决方法。

代码注释和 API 名称保留英文,以便与 SDK 保持一致。

本页内容

连接#

not_configured / NotConfigured

Unity:打开 Tools ▸ Majacloud ▸ Setup 并保存;该资源必须位于 Assets/Resources/MajacloudSettings.asset。Godot:填写 Project Settings ▸ Majacloud。Web:传入 baseUrl、projectId 和 clientKey。

https_required(HTTP 426)

只有 localhost 可以使用 http://。请使用 HTTPS;或者仅在开发时,在 config.local.php 中设置 ALLOW_INSECURE_HTTP。

在浏览器或 WebGL 中所有请求都失败

游戏本身也要通过 HTTPS 提供:浏览器会阻止 https:// 页面发出的 http:// 调用。API 已经发送了 CORS 头。

查找失败的请求

每个错误都有请求 ID。在项目的日志页面中搜索它即可。

登录#

每次调用都返回 unauthorized

在 API 密钥页面核对项目 ID 和客户端密钥。如果你轮换过客户端密钥,旧构建将无法继续使用。

玩家意外退出登录

30 天未使用的会话会过期。如果游戏的两个副本共享同一个会话并且都去刷新它,重用保护机制会让该会话退出登录:请只让一个 SDK 实例管理该会话。

账号关联页面打不开

浏览器会阻止不是由点击打开的标签页。请在按钮处理函数中开始关联。

远程配置#

signature_invalid / SignatureInvalid

保存的公钥与服务器不匹配,通常发生在迁移到新服务器或丢失 storage/keys/ 之后。请重新运行 Test connection(或更新 configPublicKey),然后发布更新。

配置更改没有生效

SDK 会在启动时拉取配置。要在会话期间获取更改,请再次调用 fetch(例如返回菜单时)。

限制#

plan_limit

已达到套餐上限。不会删除任何数据;请升级套餐,或在控制台中移除不再使用的内容。

rate_limited / quota_exceeded

等待 Retry-After 秒。避免在 Update() 或游戏循环中拉取数据,改为缓存结果。

Godot 和 Web#

Godot:Identifier "Majacloud" not declared

在 Project Settings ▸ Plugins 中启用插件,它会添加自动加载。检查文件夹是否正好是 res://addons/majacloud。

Godot:TLS handshake failed

服务器的 HTTPS 证书不受信任(通常是自签名证书)。请使用由公共证书颁发机构(例如 Let's Encrypt)签发的证书。

Web:“Web Crypto is unavailable”

页面是从其他主机通过纯 HTTP 提供的。请通过 HTTPS 提供页面(开发期间使用 localhost 也可以)。

搜索页面标题、小标题和正文。

↑↓ 选择 ↵ 打开 Esc 关闭