Connectez votre jeu à horizOn
Choisissez une voie ci-dessous et soyez en ligne en quelques minutes, sans longue configuration.
Utilisez https://horizon.pm comme URL de base pour les exemples ci-dessus. Les endpoints de l'application nécessitent X-API-Key.
/api/v1/app/user-management/signupCréation de joueur anonyme ou par e-mail
/api/v1/app/user-management/signinConnexion du joueur et validation de session
/api/v1/app/leaderboard/submitSoumettre un score
/api/v1/app/cloud-save/saveEnregistrer les données du joueur
/api/v1/app/cloud-save/loadCharger les données du joueur
/api/v1/app/remote-config/allLire toutes les valeurs de configuration en direct
/api/v1/app/user-feedback/submitRecueillir les rapports de bugs et les idées des joueurs
Créez une clé au niveau du compte dans Dashboard, puis API Keys, collez-la dans la configuration de votre client MCP et demandez à l'assistant des démarrages rapides de SDK ou des opérations API en direct.
{
"mcpServers": {
"horizOn": {
"command": "npx",
"args": ["-y", "horizon-mcp"],
"env": {
"HORIZON_ACCOUNT_API_KEY": "hzn_acc_YOUR_ACCOUNT_KEY",
"HORIZON_BASE_URL": "https://horizon.pm"
}
}
}
} Voir le serveur MCP sur 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.
Consulter la référence complète de l'APILe horizOn simpleServer expose une REST API qui reproduit l'ensemble des fonctionnalites de horizOn Cloud. Tous les endpoints necessitent le header X-API-Key pour l'authentification.
Pourquoi PHP ? Pour une simplicité maximale — le backend principal d'horizOn utilise Spring/Kotlin pour des performances professionnelles. Le Simple Server est volontairement conçu en PHP afin que les développeurs puissent facilement le comprendre, le modifier et l'auto-héberger.
Voir sur GitHubSDKs, plugins et outils
Tout ce dont vous avez besoin pour integrer horizOn dans votre jeu. Telechargez les SDKs pour votre moteur prefere et commencez en quelques minutes.
Nouveau sur horizOn ?
Suivez notre guide de demarrage pas a pas pour configurer votre premier projet et integrer le SDK.
Ressources SDK
Telechargez les SDKs, plugins et accedez a la documentation pour votre moteur de jeu.
Unity2
Unreal Engine2
Godot2
Autres ressources2
Chaque client est limité à 10 requêtes par minute. Concevez vos appels API de manière efficace.
Mettre les données en cache localement Charger toutes les configs au démarrage Soumettre les scores uniquement en cas d'amélioration Utiliser le paramètre useCache Faire des requêtes identiques répétées Récupérer des configs individuelles à répétition Soumettre les scores à chaque frame Contourner le cache en permanence
Modèle de démarrage efficace: Ne chargez que ce dont vous avez besoin au démarrage, puis fiez-vous au cache pour le reste.
Consulter la référence complète de l'APIVous avez une question ou trouvé un bug ? Ouvrez un ticket depuis le dashboard si vous avez un compte, ou utilisez le formulaire de ticket invité sur horizon.pm. Vous pouvez aussi rejoindre la communauté Discord pour une aide rapide.
Ouvrir un ticket d'assistanceDécouvrez HorizOn en Action
Explorez comment de vraies applications intègrent les fonctionnalités d'HorizOn pour relever les défis courants
App Mobile de Liste de Courses
Liste de Courses avec Synchronisation
Une app mobile de liste de courses où les utilisateurs sauvegardent leurs listes dans le cloud, reçoivent des actualités sur les offres et promotions, et accèdent à leurs données sur tous leurs appareils.
Fonctionnalités HorizOn Utilisées
ShopSync
Content de vous revoir !
Exemples de Code
// 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"
}
} Pourquoi Ça Fonctionne
Parfait pour les apps grand public nécessitant des comptes utilisateurs et une synchronisation multi-appareils. Cloud Save assure une synchronisation fluide des listes, News tient les utilisateurs informés des offres, et Login offre une gestion sécurisée des comptes.
App d'Audit pour Constructeurs Automobiles
Contrôle Qualité et Conformité
Une app métier pour les auditeurs automobiles afin de réaliser des inspections qualité à l'aide de checklists distantes, actualisables de manière centralisée sans redéployer l'app.
Fonctionnalités HorizOn Utilisées
AutoCorp Contrôle Qualité
Exemples de Code
// 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 Pourquoi Ça Fonctionne
Idéal pour les apps d'entreprise nécessitant une authentification sécurisée et des configurations actualisables. Remote Config permet des mises à jour instantanées des checklists sur tous les appareils, News diffuse les évolutions réglementaires, et Login garantit que seul le personnel autorisé accède au système.
Roguelike sur Steam
Jeu Indie sur Steam
Un roguelike sur Steam sans aucune barrière d'inscription, avec sauvegarde cloud, ajustement de l'équilibrage à distance et signalement de bugs intégré.
Fonctionnalités HorizOn Utilisées
DUNGEON DEPTHS
Une aventure Roguelike
Exemples de Code
// 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"
} Pourquoi Ça Fonctionne
Parfait pour les jeux qui ont besoin d'un onboarding instantané et d'un équilibrage flexible. Anonymous Login supprime la friction de l'inscription, Remote Config permet des ajustements d'équilibrage en temps réel, Cloud Save préserve la progression, et Feedback capture les rapports de bugs avec les informations de l'appareil automatiquement.
Prêt à Créer le Vôtre ?
Commencez à intégrer HorizOn dans votre projet dès aujourd'hui grâce à notre guide de démarrage pas à pas