Classements pour les jeux PlayDrop
Déclarez des classements dans catalogue.json, soumettez des scores avec sdk.leaderboards, affichez le top et les voisins du joueur : types de score, limites, règles.
Les classements donnent aux joueurs une raison de rejouer et un rang à partager. PlayDrop enregistre le meilleur score de chaque joueur pour chaque classement et l’affiche sur le jeu.
Déclarez un classement
Ajoutez-le à l’app dans 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: de 3 à 64 caractères, en commençant par une lettre minuscule, suivie de lettres minuscules, de chiffres,_,.ou-.scoreTypeetsorts’utilisent selon deux paires :INTEGERavecDESC(le plus élevé gagne, scores de 0 ou plus) ouTIME_MSavecASC(le plus bas gagne, millisecondes positives).unitLabelest un texte d’affichage facultatif.
Une fois publiée, une clé ne peut plus être supprimée et ses scoreType et sort ne peuvent plus changer. Cessez d’utiliser un classement avec "status": "RETIRED". Les classements nécessitent un paquet.
Soumettez et lisez les scores
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();- Les scores sont des entiers sûrs. Seul un meilleur score remplace le record.
topaccepte de 1 à 100 entrées etaroundMede 1 à 20 de chaque côté du joueur.list({ includeRetired: true })renvoie aussi les classements retirés.
Soumettez le score à la fin d’une partie, pas à chaque image, et uniquement pendant la phase play. Gérez les appels rejetés comme n’importe quel appel réseau ; gardez le jeu jouable.
Invités et hors ligne
Vous pouvez soumettre un score sans vérifier la connexion du joueur. Sans aucune session de joueur, une soumission aboutit sans être enregistrée. Les hôtes qui annoncent la prise en charge des données sur l’appareil, comme les apps PlayDrop compatibles hors ligne, conservent un score réalisé hors ligne et le synchronisent plus tard ; leurs lectures hors ligne n’affichent que le record du joueur, sans rang. Ailleurs, une soumission nécessite une connexion réseau.
Ce que les classements ne font pas
Le SDK ne propose ni régions, ni réinitialisations planifiées, ni saisons, ni récompenses hebdomadaires automatiques. Pour un classement hebdomadaire, intégrez la semaine dans votre propre conception, par exemple avec une nouvelle clé par saison, déclarée dans une nouvelle version.
À voir aussi : succès, sauvegardes cloud, partager un score.