Idées et fonctionnalités de jeu

Votre prochaine fonctionnalité

Valeurs du joueur

Monnaies, compteurs et énergie gérés par le serveur. Définissez les soldes, offres et modifications vérifiées par projet.

SDK : developSession de joueur requise
Unity
Illustration de Valeurs du joueur
Votre résultat visible

Votre jeu affiche les soldes et les offres configurés. Les achats renvoient l’état actuel du joueur.

Vidéo à venir

Cette étape n’a pas encore de vidéo. Le guide et la demande MCP sont utilisables.

Valeurs du joueur

Préparer le même projet

  1. Sélectionnez dans le tableau de bord le même projet que dans la configuration de votre jeu.

    Valeurs du joueur →
  2. Créez ou réutilisez ces entrées de test dans le formulaire du tableau de bord. Ce sont des exemples, pas les données actuelles.

    Valeurs
    coins: initialBalance=100, maxBalance=1000000; energy: initialBalance=10, maxBalance=100
    Autoriser les modifications directes
    false
    Offres
    energy-pack: costs=[{"key":"coins","amount":20}], rewards=[{"key":"energy","amount":5}]

    Le solde initial est accordé une seule fois par clé. Les modifications directes sont désactivées au départ. Validated Actions conserve ses limites par partie ; les plafonds journaliers et de solde viennent de ces définitions. Un plafond facultatif vide signifie sans limite.

  3. Enregistrez, rechargez et vérifiez les entrées avant l’exemple. Conservez les autres définitions.

Intégrer cette fonctionnalité

Vous pouvez consulter le guide. Son exécution nécessite une clé de projet active. Préparer le projet

SDK installé, configuration du projet importée et joueur connecté.

Cet exemple du SDK utilise develop. Vérifiez que les API nécessaires existent dans votre SDK installé.

Terminez la connexion du démarrage rapide avec le joueur choisi. Appelez RunReviewedAction() via un bouton ou une action de scène explicite. Ouvrir le fichier seul n’envoie aucune requête.

C#
Assets/Scripts/PlayerValuesDemo.cs
Appel horizOn
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Existing SDK/project configuration and authenticated player session required.
6// Call RunReviewedAction explicitly after reviewing this example and its data.
7public sealed class PlayerValuesDemo : MonoBehaviour
8{
9 public async void RunReviewedAction()
10 {
11 var sessionUser = UserManager.Instance.CurrentUser;
12 if (sessionUser == null || !sessionUser.IsValid()) return;
13 var userId = UserManager.Instance.CurrentUser.UserId;
14 var current = await PlayerValuesManager.Instance.GetState(userId);
15 if (!current.IsSuccess) { Debug.LogWarning(current.ErrorCode); return; }
16 foreach (var value in current.State.values) Debug.Log(value.key + "=" + value.balance);
17 // This minimal first call reads authoritative balances, never a local reward delta.
18 // For purchases and original retry, import PlayerValuesExample and its
19 // PendingPlayerValuesPurchase helper from the official SDK samples.
20 // Persist the complete original user/offer/operationId before one send.
21 // An uncertain or expired original must never become a fresh purchase ID.
22 }
23}
Ouvrir l’exemple SDK complet ↗

Testez votre nouvelle fonctionnalité.

Votre jeu affiche les soldes et les offres configurés. Les achats renvoient l’état actuel du joueur.

Sélectionnez dans le tableau de bord le même projet que dans la configuration de votre jeu.

Points de terminaison
  • GET/player-values
  • GET/player-values/offers
  • POST/player-values/purchase
  • POST/player-values/adjust
Tous les points de terminaison dans la référence API
Notre suggestion pour la suite

Donnez un meilleur score à chaque partie.

Enregistrez le score après une partie et montrez qui est en tête. Continuez avec votre connexion et la session du joueur.