Classifiche per i giochi PlayDrop
Dichiara le classifiche in catalogue.json, invia punteggi con sdk.leaderboards e mostra i primi posti e i vicini del giocatore. Tipi, limiti e aggiornamenti.
Le classifiche danno ai giocatori un motivo per rigiocare e una posizione da condividere. PlayDrop memorizza il miglior punteggio di ogni giocatore per ciascuna classifica e lo mostra sul gioco.
Dichiara una classifica
Aggiungila all’app in catalogue.json:
{
"leaderboards": [
{ "key": "high-score", "displayName": "High score", "description": "Most points in one run",
"scoreType": "INTEGER", "sort": "DESC", "unitLabel": "pts" },
{ "key": "best-time", "displayName": "Fastest run", "description": "Time to reach the flag",
"scoreType": "TIME_MS", "sort": "ASC" }
]
}key: da 3 a 64 caratteri, inizia con una lettera minuscola, poi lettere minuscole, cifre,_,.o-.scoreTypeesortformano due coppie:INTEGERconDESC(vince il più alto, punteggi da 0 in su) oppureTIME_MSconASC(vince il più basso, millisecondi positivi).unitLabelè un testo facoltativo da mostrare.
Una volta pubblicata, una chiave non si può rimuovere e i suoi scoreType e sort non possono cambiare. Smetti di usarne una con "status": "RETIRED". Le classifiche richiedono un pacchetto.
Invia e leggi i punteggi
const result = await sdk.leaderboards.submitScore("high-score", 1200);
// { accepted, improved, previousBestScore, bestScore, rank, previousRank, bestScoreAt, leaderboard }
if (result.improved) showNewBest(result.bestScore, result.rank);
const { leaderboard } = await sdk.leaderboards.get("high-score", { top: 10, aroundMe: 3 });
// leaderboard: { definition, top, player, playerEntry, aroundPlayer }
const { leaderboards } = await sdk.leaderboards.list();- I punteggi sono interi sicuri. Solo un punteggio migliore sostituisce il record.
topaccetta da 1 a 100 voci earoundMeda 1 a 20 per ogni lato del giocatore.list({ includeRetired: true })restituisce anche le classifiche ritirate.
Invia il punteggio alla fine di una partita, non a ogni frame, e solo nella fase play. Gestisci le chiamate rifiutate come qualsiasi chiamata di rete; mantieni il gioco giocabile.
Ospiti e offline
Puoi inviare punteggi senza controllare l’accesso. Senza alcuna sessione giocatore, un invio si risolve senza essere salvato. Gli host che dichiarano il supporto ai dati sul dispositivo, come le app PlayDrop che funzionano offline, conservano un punteggio ottenuto offline e lo sincronizzano più tardi; le loro letture offline mostrano solo il record del giocatore, senza posizione. Altrove un invio richiede una connessione.
Cosa non fanno le classifiche
Nell’SDK non ci sono regioni, azzeramenti programmati, stagioni o premi settimanali automatici. Per una classifica settimanale, includi la settimana nel tuo design, per esempio con una nuova chiave per stagione dichiarata in una nuova versione.
Vedi anche: obiettivi, salvataggi cloud, condividere un punteggio.