Ranglijsten voor PlayDrop-games
Declareer ranglijsten in catalogue.json, verstuur scores met sdk.leaderboards en toon de top en de buren van de speler. Scoretypen, limieten en updateregels.
Ranglijsten geven spelers een reden om opnieuw te spelen en een positie om te delen. PlayDrop bewaart per ranglijst de beste score van elke speler en toont die bij de game.
Een ranglijst declareren
Voeg hem toe aan de 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: 3 tot 64 tekens, beginnend met een kleine letter, gevolgd door kleine letters, cijfers,_,.of-.scoreTypeensortkomen in twee paren:INTEGERmetDESC(hoger wint, scores van 0 of meer) ofTIME_MSmetASC(lager wint, positieve milliseconden).unitLabelis optionele weergavetekst.
Na publicatie kun je een sleutel niet meer verwijderen en kunnen scoreType en sort niet veranderen. Stop met het gebruik van een ranglijst met "status": "RETIRED". Ranglijsten hebben een pakket nodig.
Scores versturen en lezen
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();- Scores zijn veilige gehele getallen. Alleen een betere score vervangt het record.
topaccepteert 1 tot 100 vermeldingen enaroundMe1 tot 20 aan elke kant van de speler.list({ includeRetired: true })geeft ook buiten gebruik gestelde ranglijsten terug.
Verstuur scores aan het einde van een ronde, niet elk frame, en alleen in de fase play. Handel afgewezen aanroepen af zoals elke netwerkaanroep; houd de game speelbaar.
Gasten en offline
Je kunt scores versturen zonder het inloggen te controleren. Zonder enige spelersessie slaagt een inzending zonder dat er iets wordt opgeslagen. Hosts die ondersteuning voor apparaatgegevens aangeven, zoals PlayDrop-apps die offline werken, bewaren een offline behaalde score en synchroniseren die later; offline tonen ze alleen het eigen record van de speler, zonder positie. Elders heeft een inzending een verbinding nodig.
Wat ranglijsten niet doen
De SDK kent geen regio's, geplande resets, seizoenen of automatische wekelijkse prijzen. Wil je een wekelijkse ranglijst, neem de week dan op in je eigen ontwerp, bijvoorbeeld met een nieuwe sleutel per seizoen, gedeclareerd in een nieuwe versie.
Zie ook: prestaties, cloudsaves, een score delen.