Idee e funzionalità per il gioco

La tua prossima funzionalità

Mercato

Scambia un oggetto originale tra due giocatori.

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

L’acquirente riceve lo stesso oggetto e il venditore riceve il prezzo concordato meno la commissione configurata.

Video in arrivo

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

Mercato

Preparare lo stesso progetto

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

    Mercato →
  2. La prima richiesta non richiede altre definizioni. Un risultato vuoto è valido finché mancano i dati del gioco.

    Impostate una valuta, una commissione e almeno una regola di prezzo attiva.

    Usa due giocatori autenticati nello stesso progetto. Configura valuta, commissione e regola di prezzo, metti in vendita un oggetto non equipaggiato e conferma esplicitamente l’acquisto.

    Oggetti →Valori del giocatore →

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 ReadListing(listingId) tramite un pulsante o un’azione esplicita della scena. Aprire il file non invia richieste.

C#
Assets/Scripts/MarketplaceDemo.cs
Chiamata horizOn
1using System.Threading.Tasks;
2using UnityEngine;
3using PM.horizOn.Cloud.Examples.Features;
4using PM.horizOn.Cloud.Objects.Network.Responses;
5​
6public class MarketplaceDemo : MonoBehaviour
7{
8 // Import the SDK Examples sample. Bind its screen to the signed-in player
9 // and set the stable projectId in the Inspector. Never use an Account Key.
10 public MarketplaceExample screen;
11​
12 public Task<MarketplaceResult<MarketplaceListingView>> ReadListing(string listingId)
13 => MarketplaceQuickstart.ReadOneListing(screen, listingId);
14​
15 // Wire only to the player's Buy confirmation after displaying ReadListing.
16 public Task<bool> ConfirmPurchase(string listingId)
17 => MarketplaceQuickstart.BuyReviewedListing(screen, listingId);
18​
19 // false/timeout does not prove nonexecution. Use screen.RetryPending() or
20 // screen.RecoverOriginalOperation(); never replace the unresolved original.
21 // The sample refreshes Inventory, Values and Marketplace before acknowledgement.
22 // Its native file journal rejects WebGL writes; use a durable browser persister.
23}
Aprire l’esempio SDK completo ↗

Prova con due giocatori

Usa due giocatori autenticati nello stesso progetto. Configura valuta, commissione e regola di prezzo, metti in vendita un oggetto non equipaggiato e conferma esplicitamente l’acquisto.

Usa la sessione già autenticata. Dopo un acquisto non confermato, conserva e riprova la stessa richiesta originale, poi aggiorna inventario e saldi.

L’annullamento protegge l’oggetto originale finché il proprietario non lo ritira. Il recupero è disponibile solo se il proprietario precedente è stato eliminato.

Le inserzioni e la protezione dalle ripetizioni sono memorizzate una sola volta nel progetto. I giocatori conservano riferimenti e dati di stato limitati.

Prova la tua nuova funzionalità.

L’acquirente riceve lo stesso oggetto e il venditore riceve il prezzo concordato meno la commissione configurata.

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

Endpoint dell'API
  • GET/marketplace/limits
  • GET/marketplace/rules
  • GET/marketplace
  • GET/marketplace/listings
  • GET/marketplace/listings/{listingId}
  • POST/marketplace/listings
  • POST/marketplace/listings/{listingId}/buy
  • POST/marketplace/listings/{listingId}/cancel
  • GET/marketplace/operations/{operationId}
  • POST/marketplace/listings/{listingId}/retry-return
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.