Idee e funzionalità per il gioco

La tua prossima funzionalità

Obiettivi

Ogni chiave si sblocca una volta per giocatore. Il modo manuale si fida del gioco; le soglie sono valutate nella stessa transazione interessata.

SDK: developSessione del giocatore richiesta
Unity
Illustrazione di Obiettivi
Il risultato visibile

Dopo l’azione, first_steps è sbloccato per lo stesso giocatore. Ripetere la chiave non concede altri obiettivi o premi.

Video in arrivo

Questo passaggio non ha ancora un video. La guida e la richiesta MCP sono già utilizzabili.

Obiettivi

Preparare lo stesso progetto

  1. Seleziona nella dashboard lo stesso progetto presente nella configurazione del gioco.

    Obiettivi →
  2. Create o riutilizzate queste voci di prova nel modulo del pannello. Sono valori di esempio, non dati attuali.

    Chiave
    first_steps
    Nome
    First steps
    Regola di sblocco
    manual
    Attivo
    true
    Nascosto fino allo sblocco
    false
    Nessuna ricompensa
    []

    Ogni chiave si sblocca una volta per giocatore. Il modo manuale si fida del gioco; le soglie sono valutate nella stessa transazione interessata.

  3. Salvate, ricaricate e verificate le voci prima dell’esempio. Conservate le altre definizioni.

Integra questa funzionalità

Puoi consultare la guida. Per eseguirla serve una chiave di progetto attiva. Prepara il progetto

SDK installato, configurazione del progetto importata e giocatore connesso.

Questo esempio del SDK usa develop. Verifica che le API necessarie siano disponibili nel SDK installato.

Completate la connessione rapida con il giocatore scelto. Chiamate RunReviewedAction() tramite un pulsante o un’azione esplicita della scena. Aprire il file non invia richieste.

C#
Assets/Scripts/AchievementsDemo.cs
Chiamata horizOn
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// Le ricompense vengono accreditate allo sblocco. Se l’accredito fallisce,
9// l’intera azione viene annullata.
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}
Aprire l’esempio SDK completo ↗

Prova la tua nuova funzionalità.

Dopo l’azione, first_steps è sbloccato per lo stesso giocatore. Ripetere la chiave non concede altri obiettivi o premi.

Seleziona nella dashboard lo stesso progetto presente nella configurazione del gioco.

Endpoint dell'API
  • GET/achievements
  • POST/achievements/unlock
  • POST/achievements/rewards/deliver
Tutti gli endpoint nel riferimento API
Il nostro suggerimento per il prossimo passo

Dai un record a ogni partita.

Salva il punteggio dopo una partita e mostra chi è in testa. Continua a usare la connessione e la sessione del giocatore.