トラブルシューティング
よくある問題とその解決方法をまとめています。
コードのコメントと 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)
http:// を使用できるのは localhost のみです。HTTPS を使用するか、開発時に限り config.local.php で ALLOW_INSECURE_HTTP を設定してください。
ブラウザや WebGL ですべてのリクエストが失敗する
ゲームも HTTPS で配信してください。ブラウザは https:// ページからの http:// 呼び出しをブロックします。CORS ヘッダーは API がすでに送信しています。
失敗したリクエストを見つける
すべてのエラーにはリクエスト ID があります。プロジェクトのログページでその ID を検索してください。
ログイン#
すべての呼び出しで unauthorized が返る
API キーページでプロジェクト ID とクライアントキーを確認してください。クライアントキーを再発行した場合、古いビルドは動作しなくなります。
プレイヤーが予期せずログアウトされる
30 日間使用されなかったセッションは期限切れになります。また、ゲームの 2 つのインスタンスが 1 つのセッションを共有し、両方が更新を行うと、再利用防止機能によってログアウトされます。セッションは 1 つの 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 でも問題ありません)。