Succès pour les jeux PlayDrop
Déclarez des succès standard et progressifs avec icônes dans catalogue.json, débloquez-les et signalez la progression avec sdk.achievements.
Les succès marquent des objectifs dans votre jeu, avec une icône et une description que les joueurs voient sur PlayDrop. Ils fonctionnent pour les invités comme pour les joueurs connectés.
Déclarez des succès
{
"achievements": [
{ "key": "first-win", "displayName": "First flag", "description": "Reach the flag once",
"kind": "STANDARD", "icon": "achievements/first-win.png" },
{ "key": "collector", "displayName": "Collector", "description": "Collect 100 stars",
"kind": "INCREMENTAL", "maxProgress": 100, "icon": "achievements/collector.png" },
{ "key": "secret-room", "displayName": "Secret room", "description": "Find the hidden room",
"kind": "STANDARD", "hidden": true, "icon": "achievements/secret-room.png" }
]
}keysuit le même format que les clés de classement.kindvautSTANDARD(débloqué une seule fois) ouINCREMENTAL(débloqué quand la progression atteintmaxProgress, un entier positif).iconest un PNG inclus dans le paquet. Utilisez une image carrée et nette, lisible en petit format.hidden: truegarde le nom et la description secrets jusqu’au déblocage.
Les clés publiées ne peuvent pas être supprimées, et kind, maxProgress et hidden ne peuvent pas changer. Retirez un succès avec "status": "RETIRED".
Débloquez et signalez la progression
await sdk.achievements.unlock("first-win");
await sdk.achievements.setProgressAtLeast("collector", starsCollected);
const { achievements } = await sdk.achievements.list();
const { achievement } = await sdk.achievements.get("collector");setProgressAtLeastprend le total atteint jusqu’ici, jamais un incrément. La progression ne fait qu’augmenter, est plafonnée àmaxProgresset débloque le succès à ce seuil.- Les deux appels renvoient
{ accepted, changed, unlocked, progress, unlockedAt, achievement };changedvaut false quand rien de nouveau ne s’est produit, ce qui vous permet d’afficher votre propre notification une seule fois. list({ includeHiddenDefinitions: true, includeRetired: true })inclut les définitions cachées et retirées.
Ne débloquez des succès que pendant une vraie partie, jamais dans les aperçus ni les captures. Sans aucune session de joueur, les appels aboutissent sans que rien soit enregistré.
De bons succès
Mélangez des succès précoces qui apprennent à jouer et des objectifs à long terme. Nommez l’action, pas la récompense : « Gagner sans subir de dégâts » dit quoi faire. Une douzaine de succès bien pensés valent mieux qu’une centaine de succès anodins.