Spielideen & Features

Euer nächstes Feature

Erfolge

Jeder Schlüssel wird pro Spieler einmal freigeschaltet. Manuelle Regeln vertrauen dem Spiel; Statistikschwellen werden in derselben betroffenen Meldung geprüft.

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

Nach der Aktion ist first_steps für denselben Spieler freigeschaltet. Derselbe Schlüssel gewährt keinen zweiten Erfolg und keine weitere Belohnung.

Video folgt

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

Erfolge

Dasselbe Projekt vorbereiten

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

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

    Schlüssel
    first_steps
    Name
    First steps
    Freischaltregel
    manual
    Aktiv
    true
    Bis zur Freischaltung versteckt
    false
    Keine Belohnung
    []

    Jeder Schlüssel wird pro Spieler einmal freigeschaltet. Manuelle Regeln vertrauen dem Spiel; Statistikschwellen werden in derselben betroffenen Meldung geprüft.

  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/AchievementsDemo.cs
horizOn-Aufruf
1using System.Linq;
2using UnityEngine;
3using PM.horizOn.Cloud.Core;
4using PM.horizOn.Cloud.Manager;
5​
6// Existing SDK/project configuration and authenticated player session required.
7// Call RunReviewedAction explicitly after reviewing this example and its data.
8// Belohnungen werden sofort mit der Freischaltung gutgeschrieben. Schlägt
9// die Gutschrift fehl, wird die gesamte Aktion zurückgerollt.
10// This explicit action unlocks the shown configured achievement key.
11public sealed class AchievementsDemo : MonoBehaviour
12{
13 public async void RunReviewedAction()
14 {
15 var sessionUser = UserManager.Instance.CurrentUser;
16 if (sessionUser == null || !sessionUser.IsValid()) return;
17 var userId = UserManager.Instance.CurrentUser.UserId;
18 var manager = AchievementsManager.Instance;
19 var loaded = await manager.GetAchievements(userId);
20 if (!loaded.IsSuccess) { Debug.LogWarning(loaded.ErrorCode); return; }
21 foreach (var progress in loaded.Data.progress)
22 Debug.Log(progress.key + ": " + progress.rewardState);
23​
24 // Configure a manual first_steps definition, then call this on the matching game action.
25 var unlocked = await manager.Unlock(userId, "first_steps");
26 if (!unlocked.IsSuccess) { Debug.LogWarning(unlocked.ErrorCode); return; }
27 // Repeat the same key after timeout; never create a replacement reward identity.
28 // rewardState is complete, unlockedAt is null, and deliveryResults is empty.
29 // Values were credited atomically. Read PlayerValues again when showing the balance.
30 // No Inbox claim or local value addition. Refresh achievements after statistics updates.
31 }
32}
Vollständiges SDK-Beispiel öffnen ↗

Testet euer neues Feature.

Nach der Aktion ist first_steps für denselben Spieler freigeschaltet. Derselbe Schlüssel gewährt keinen zweiten Erfolg und keine weitere Belohnung.

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

Endpunkte
  • GET/achievements
  • POST/achievements/unlock
  • POST/achievements/rewards/deliver
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.