Unityゲームのためのバックエンド

プレイヤーアカウント、リーダーボード、リモートコンフィグ、クラウドセーブ、デイリー報酬。1 つの Unity SDK と 1 つのダッシュボードで、数分で使い始められます。

Free プランでプレイヤー 1,000 人まで。クレジットカード不要。

どのエンジンにも、1 つのバックエンド

再起動しても消えないゲストログインをすぐに使え、安全な Web ページからメールアドレスや 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 アドオン。オートロードとエディター上でのセットアップに対応しています。
Web / JavaScript
JavaScript ファイル 1 つで、HTML5 ゲーム、Web サイト、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);
    }
}

ライブゲームに必要な機能がすべてそろっています

各サービスは単独でも動作し、エディターから WebGL、モバイルビルドまで同じ SDK 呼び出しで利用できます。

アップデートなしでゲームを調整

すべての変更はバージョン管理され、署名されます。どの値もワンクリックでロールバックでき、ゲームには次回の取得時に反映されます。

リモートコンフィグ
リモートコンフィグ
公開中のバージョン 14 RSA-SHA256
キー型値
enemy_damagenumber30
player_speednumber4.5
double_xp_weekendbooleantrue
event_bannerstringLunar festival: 2× coins!
shopjson{"sale": 0.2}
enemy_damage 25 → 30復元

すべてのプレイヤーを把握

再起動しても消えないゲストログインをすぐに使え、安全な Web ページからメールアドレスや Google と連携できます。進行状況もそのまま引き継がれます。

プレイヤー
プレイヤーログイン方法
NovaGoogle
Kaitoメール
Lunaゲスト
RakaGoogle
Miraゲスト
Nova
player_3f9c…
ウォレット
coins1,240
gems15
ドキュメント
progressr12
settingsr3

クラウドセーブ

シリアライズ可能なオブジェクトをプレイヤーごとにリビジョン付きで保存。2 台のデバイスが知らないうちに互いのデータを上書きすることはありません。

クラウドセーブ
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 で署名され、使用前にデバイス上で検証されます。
  • スコア、報酬、ウォレットはサーバーで検証され、クライアントから送られた値をそのまま信頼することはありません。
  • レート制限、1 日あたりのクォータ、リクエスト 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

コミュニティが育ってきたゲームの成長を支えます。

≈ ¥264 / 月

ルピア建てで Rp29.000 を請求します

  • 10,000 API リクエスト / 日
  • 10,000 プレイヤーアカウント
  • 3 プロジェクト
  • 3 リーダーボード / プロジェクト
  • 10 リモートコンフィグのキー
  • 256 MB クラウドセーブのストレージ
Starter を選択

Max

大規模で高負荷なゲーム向けの最大容量プラン。

≈ ¥2,718 / 月

ルピア建てで Rp299.000 を請求します

  • 無制限 API リクエスト / 日
  • 無制限 プレイヤーアカウント
  • 25 プロジェクト
  • 30 リーダーボード / プロジェクト
  • 1000 リモートコンフィグのキー
  • 10 GB クラウドセーブのストレージ
Max を選択

上限はアカウント単位で適用されます。上限に達すると、API はわかりやすい plan_limit エラーを返します。データが削除されることはありません。 JPY での価格は概算です。お支払いは Midtrans を通じてインドネシアルピア(IDR)で請求され、最終的な為替レートはご利用の銀行またはウォレットによって決まります。

よくある質問

対応している Unity のバージョンは?

Unity 2021.3 LTS 以降(Unity 6 を含む)に対応しています。SDK はサードパーティのライブラリに依存せず、Built-in、URP、HDRP の各パイプラインで動作します。

WebGL やモバイルでも動作しますか?

はい。SDK はスレッドを使用しないため、非同期呼び出しは WebGL、Android、iOS で動作します。すべての非同期メソッドにはコルーチン版も用意されています。

Godot や Web サイトでも使えますか?

はい。メインの SDK は Unity ですが、Godot 4 用のアドオンと、HTML5 ゲーム、Web サイト、Node.js サーバー向けの依存関係のない JavaScript SDK も用意しています。いずれも同じ REST API を使用するため、ほかのエンジンからも直接呼び出せます。

プレイヤーがオフラインのときはどうなりますか?

リモートコンフィグは検証済みのローカルキャッシュから引き続き動作し、ゲストセッションは次回の起動時に復元されます。また、すべての呼び出しは例外をスローせず、エラーコード付きの結果を返します。

プランの上限に達するとどうなりますか?

新しい項目の作成は plan_limit エラーで拒否され、ゲーム内でその内容を表示できます。既存のプレイヤーやデータはそのまま残り、アップグレードするとすぐに上限が引き上げられます。

支払い方法を教えてください。

プランを選び、Midtrans で 1 か月分を支払います。同じプランで再度支払うと、さらに 1 か月延長されます。期間が終了する前に、リマインダーメールをお送りします。

プレイヤーデータを確認・削除できますか?

はい。ダッシュボードにはすべてのプレイヤーのスコア、セーブデータ、ウォレットが表示され、いずれも削除できます。プロジェクトを削除すると、そのデータはすべて削除されます。

今すぐゲームにオンライン機能を追加しましょう

無料で始められます。最初のリクエストまで、ほんの数分です。