あなたのゲームを horizOn につなげよう
下から進む道を選べば、長い設定なしで数分で公開できます。
上記の例ではベース URL として https://horizon.pm を使用してください。アプリのエンドポイントには X-API-Key が必要です。
/api/v1/app/user-management/signup匿名またはメールによるプレイヤー作成
/api/v1/app/user-management/signinプレイヤーのサインインとセッション検証
/api/v1/app/leaderboard/submitスコアを送信
/api/v1/app/cloud-save/saveプレイヤーデータを保存
/api/v1/app/cloud-save/loadプレイヤーデータを読み込み
/api/v1/app/remote-config/allすべてのライブ設定値を読み取り
/api/v1/app/user-feedback/submitプレイヤーのバグ報告やアイデアを収集
Dashboard の API Keys でアカウント全体のキーを作成し、MCP クライアントの設定に貼り付けて、アシスタントに SDK のクイックスタートやライブ API 操作を依頼します。
{
"mcpServers": {
"horizOn": {
"command": "npx",
"args": ["-y", "horizon-mcp"],
"env": {
"HORIZON_ACCOUNT_API_KEY": "hzn_acc_YOUR_ACCOUNT_KEY",
"HORIZON_BASE_URL": "https://horizon.pm"
}
}
}
} MCPサーバーをGitHubで見る Apple requires every iOS build that offers a third-party sign-in option to also offer Sign in with Apple (App Store Review Guideline 4.8). horizOn User Management supports Apple Sign-In natively.
完全なAPIリファレンスを見るhorizOn simpleServer は、horizOn Cloud の機能セットを再現した REST API を提供します。すべてのエンドポイントで認証に X-API-Key ヘッダーが必要です。
なぜ PHP?最大限のシンプルさのために——horizOn のメインバックエンドはエンタープライズ性能のために Spring/Kotlin を使用しています。Simple Server は開発者が簡単に理解・修正・セルフホストできるよう、意図的に PHP で構築されています。
GitHub で見るSDK、プラグイン & ツール
horizOn をゲームに統合するために必要なすべてが揃っています。お気に入りのエンジン向け SDK をダウンロードして、数分で始めましょう。
SDK リソース
SDK やプラグインのダウンロード、ゲームエンジン向けのドキュメントにアクセスできます。
Unity2
Unreal Engine2
Godot2
その他のリソース2
各クライアントは 1 分あたり 10 リクエストに制限されています。API 呼び出しは効率よく設計してください。
データをローカルにキャッシュする すべての設定を起動時に読み込む スコアは記録更新時のみ送信する useCache パラメータを使う 同じリクエストを繰り返し送る 個々の設定を何度も取得する 毎フレームごとにスコアを送る 常にキャッシュを無視する
効率的な起動パターン: 起動時に必要なものだけを読み込み、あとはキャッシュに任せましょう。
完全なAPIリファレンスを見る質問がありますか、それともバグを見つけましたか?アカウントをお持ちなら Dashboard からチケットを開くか、horizon.pm のゲストチケットフォームをご利用ください。すばやく助けが必要なときは、Discord コミュニティに参加することもできます。
サポートチケットを作成HorizOn を実際に体験
実際のアプリケーションが HorizOn の機能をどう活用して課題を解決しているか探索しましょう
モバイル買い物リストアプリ
同期機能付き買い物リスト
リストをクラウドに保存し、お得な情報やセールのお知らせを受け取り、複数デバイスからデータにアクセスできるモバイル買い物リストアプリです。
使用した HorizOn 機能
ShopSync
おかえりなさい!
コード例
// Register user with email
await UserManager.Instance.SignUpEmail(
"user@example.com",
"securePassword123",
"John Doe"
);
// Sign in existing user
await UserManager.Instance.SignInEmail(
"user@example.com",
"securePassword123"
);// Define shopping list structure
[System.Serializable]
public class ShoppingList
{
public List<string> Items;
public DateTime LastUpdated;
}
// Save list to cloud
var list = new ShoppingList {
Items = new List<string> { "Milk", "Eggs", "Bread" },
LastUpdated = DateTime.Now
};
await CloudSaveManager.Instance.SaveObject(list);
// Load from cloud
var saved = await CloudSaveManager.Instance.LoadObject<ShoppingList>();// Fetch latest deals and offers
var news = await NewsManager.Instance.LoadNews(limit: 5);
foreach (var deal in news)
{
Debug.Log($"{deal.Title}: {deal.Message}");
// Display in UI: "50% off milk this week!"
}# REST API Alternative
# Register user
POST https://horizon.pm/user/signup/email
Content-Type: application/json
X-API-Key: YOUR_API_KEY
{
"email": "user@example.com",
"password": "securePassword123",
"displayName": "John Doe"
}
# Save cloud data
POST https://horizon.pm/cloud-save
Content-Type: application/json
X-API-Key: YOUR_API_KEY
Authorization: Bearer USER_TOKEN
{
"data": {
"items": ["Milk", "Eggs", "Bread"],
"lastUpdated": "2025-02-07T10:00:00Z"
}
} なぜうまくいくのか
ユーザーアカウントとクロスデバイス同期が必要なコンシューマーアプリに最適です。Cloud Save でリストがシームレスに同期され、ニュース機能でユーザーにお得情報を届け、ログインで安全なアカウント管理を実現します。
自動車メーカー監査アプリ
品質管理&コンプライアンス
自動車の品質検査を行う監査員向けのビジネスアプリ。リモートで更新可能なチェックリストを使い、アプリの再デプロイなしで一括更新できます。
使用した HorizOn 機能
AutoCorp 品質管理
コード例
// Secure login for auditor
await UserManager.Instance.SignInEmail(
"auditor@company.com",
"securePassword"
);
// Check authentication status
if (UserManager.Instance.IsSignedIn)
{
var user = UserManager.Instance.CurrentUser;
Debug.Log($"Auditor: {user.DisplayName}");
}// Load audit checklist from remote config
var checklistJson = await RemoteConfigManager.Instance.GetString(
"audit_checklist_v2",
defaultValue: "{}"
);
// Parse checklist
var checklist = JsonUtility.FromJson<AuditChecklist>(checklistJson);
// Load compliance rules (updated without app deployment)
bool requiresPhotos = await RemoteConfigManager.Instance.GetBool(
"photos_required",
true
);// Fetch compliance updates and audit changes
var updates = await NewsManager.Instance.LoadNews(limit: 10);
foreach (var update in updates)
{
// Display critical compliance changes
Debug.Log($"[{update.Title}] {update.Message}");
}# REST API Alternative
# Login
POST https://horizon.pm/user/signin/email
Content-Type: application/json
X-API-Key: YOUR_API_KEY
{
"email": "auditor@company.com",
"password": "securePassword"
}
# Get remote config
GET https://horizon.pm/remote-config/audit_checklist_v2
X-API-Key: YOUR_API_KEY
Authorization: Bearer USER_TOKEN なぜうまくいくのか
セキュアな認証と更新可能な設定が必要なエンタープライズアプリに最適です。Remote Config で全デバイスのチェックリストを即座に更新でき、ニュースでコンプライアンス変更を通知し、ログインで認可された担当者のみがアクセスできるようにします。
Steam ローグライクゲーム
Steam のインディーゲーム
Steam のローグライクゲーム。登録の壁なし、クラウドセーブ、リモートでのゲームバランス調整、バグレポート機能を内蔵しています。
使用した HorizOn 機能
DUNGEON DEPTHS
ローグライク・アドベンチャー
コード例
// No registration required - instant play
await UserManager.Instance.SignUpAnonymous("Player_" + Random.Range(1000, 9999));
// Token is cached automatically for session restore
if (UserManager.Instance.IsSignedIn)
{
Debug.Log("Ready to play!");
}// Load game balance values (updatable without patch)
int maxHealth = await RemoteConfigManager.Instance.GetInt("max_health", 100);
float enemyDamage = await RemoteConfigManager.Instance.GetFloat("enemy_damage", 15.0f);
bool eventActive = await RemoteConfigManager.Instance.GetBool("halloween_event", false);
// Apply to gameplay
player.MaxHealth = maxHealth;
enemy.Damage = enemyDamage;// Define save structure
[System.Serializable]
public class GameProgress
{
public int Level;
public int Gold;
public List<string> UnlockedCharacters;
}
// Save progress
var progress = new GameProgress {
Level = 12,
Gold = 5000,
UnlockedCharacters = new List<string> { "Knight", "Mage" }
};
await CloudSaveManager.Instance.SaveObject(progress);
// Load on startup
var saved = await CloudSaveManager.Instance.LoadObject<GameProgress>();// Bug report with automatic device info
await FeedbackManager.Instance.ReportBug(
title: "Crash in level 5",
message: "Game freezes when boss spawns"
);
// Feature request
await FeedbackManager.Instance.RequestFeature(
title: "New character class",
message: "Please add Necromancer class"
);# REST API Alternative
# Anonymous signup
POST https://horizon.pm/user/signup/anonymous
Content-Type: application/json
X-API-Key: YOUR_API_KEY
{
"displayName": "Player_1234"
}
# Get remote config
GET https://horizon.pm/remote-config/max_health
X-API-Key: YOUR_API_KEY
Authorization: Bearer USER_TOKEN
# Submit feedback
POST https://horizon.pm/feedback/bug
Content-Type: application/json
X-API-Key: YOUR_API_KEY
Authorization: Bearer USER_TOKEN
{
"title": "Crash in level 5",
"message": "Game freezes when boss spawns"
} なぜうまくいくのか
即時プレイヤーオンボーディングと柔軟なバランス調整が必要なゲームに最適です。匿名ログインで登録の手間を排除し、Remote Config でゲームバランスをライブ変更、Cloud Save で進行状況を保存、フィードバック機能でデバイス情報付きのバグレポートを自動収集します。