Topplistor för PlayDrop-spel
Deklarera topplistor i catalogue.json, skicka poäng med sdk.leaderboards och visa toppen och spelarens grannar. Poängtyper, gränser och uppdateringsregler.
Topplistor ger spelarna en anledning att spela igen och en placering att dela. PlayDrop sparar varje spelares bästa poäng per topplista och visar den i spelet.
Deklarera en topplista
Lägg till den i appen i 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: 3 till 64 tecken, som börjar med en gemen bokstav följd av gemena bokstäver, siffror,_,.eller-.scoreTypeochsortfinns i två par:INTEGERmedDESC(högst vinner, poäng på 0 eller mer) ellerTIME_MSmedASC(lägst vinner, positiva millisekunder).unitLabelär valfri visningstext.
När en nyckel har publicerats kan den inte tas bort, och dess scoreType och sort kan inte ändras. Sluta använda en med "status": "RETIRED". Topplistor kräver ett paket.
Skicka och läs poäng
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();- Poäng är säkra heltal. Bara ett bättre resultat ersätter rekordet.
topaccepterar 1 till 100 poster ocharoundMe1 till 20 på varje sida om spelaren.list({ includeRetired: true })returnerar också pensionerade topplistor.
Skicka poäng i slutet av en omgång, inte varje bildruta, och bara i fasen play. Hantera avvisade anrop som vilket nätverksanrop som helst; håll spelet spelbart.
Gäster och offline
Du kan skicka poäng utan att kontrollera inloggningen. Helt utan spelarsession slutförs en inskickning utan att sparas. Värdar som anger stöd för enhetsdata, som PlayDrop-appar med offlinestöd, behåller ett resultat som gjorts offline och synkroniserar det senare; deras avläsningar offline visar bara spelarens eget rekord, utan placering. I övrigt kräver en inskickning en anslutning.
Det här gör inte topplistor
Det finns inga regioner, schemalagda nollställningar, säsonger eller automatiska veckopriser i SDK:t. För en veckolista bygger du in veckan i din egen design, till exempel med en ny nyckel per säsong som deklareras i en ny version.
Relaterat: prestationer, molnsparningar, dela ett resultat.