Spielideen & Features

Euer nächstes Feature

Spielerwerte

Serverseitige Währungen, Zähler und Energie. Werte, Angebote und geprüfte Änderungen pro Projekt festlegen.

SDK: developSpielersession erforderlich
Unity
Illustration für Spielerwerte
Euer sichtbares Ergebnis

Dein Spiel zeigt konfigurierte Werte und Angebote. Käufe liefern den aktuellen Spielerstand zurück.

Video folgt

Für diesen Schritt fehlt noch das Video. Die Anleitung und der MCP-Auftrag sind bereits nutzbar.

Spielerwerte

Dasselbe Projekt vorbereiten

  1. Wählt im Dashboard dasselbe Projekt wie in eurer Spielkonfiguration.

    Spielerwerte →
  2. Erstellt diese Testeinträge im Dashboard-Formular oder verwendet passende vorhandene Einträge. Die Werte sind Beispieldaten, kein aktueller Projektstand.

    Werte
    coins: initialBalance=100, maxBalance=1000000; energy: initialBalance=10, maxBalance=100
    Direkte Änderungen erlauben
    false
    Angebote
    energy-pack: costs=[{"key":"coins","amount":20}], rewards=[{"key":"energy","amount":5}]

    Startwerte werden je Wertschlüssel einmal vergeben. Direkte Änderungen sind anfangs aus. Validated Actions behält seine Grenzen pro Lauf; Tages- und Standgrenzen kommen aus diesen Definitionen. Leere optionale Grenzen bedeuten unbegrenzt.

  3. Speichert die Einträge, ladet sie neu und prüft sie vor dem Beispiel. Erhaltet andere vorhandene Definitionen.

Feature einbauen

Ihr könnt die Anleitung vorab ansehen. Zum Ausführen braucht ihr einen aktiven Projekt-Key. Projekt vorbereiten

SDK installiert, Projekt-Konfiguration importiert und Spieler angemeldet.

Dieses SDK-Beispiel nutzt develop. Prüft, ob die nötigen APIs in eurem installierten SDK verfügbar sind.

Verbindet zuerst den vorgesehenen Spieler über den Schnellstart. Ruft RunReviewedAction() ausdrücklich über einen Button oder eine Szenenaktion auf. Allein das Öffnen der Datei sendet keine Anfrage.

C#
Assets/Scripts/PlayerValuesDemo.cs
horizOn-Aufruf
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}
Vollständiges SDK-Beispiel öffnen ↗

Testet euer neues Feature.

Dein Spiel zeigt konfigurierte Werte und Angebote. Käufe liefern den aktuellen Spielerstand zurück.

Wählt im Dashboard dasselbe Projekt wie in eurer Spielkonfiguration.

Endpunkte
  • GET/player-values
  • GET/player-values/offers
  • POST/player-values/purchase
  • POST/player-values/adjust
Alle Endpunkte in der API-Referenz
Unser Vorschlag für den nächsten Schritt

Gebt jeder Runde einen Highscore.

Speichert den Score nach dem Spiel und zeigt, wer vorne liegt. Eure Verbindung und Spielersession nutzt ihr weiter.