Passer au contenu principal
Les classements des XBOX services sont dérivés des statistiques des utilisateurs et construits au moyen de requêtes. Cela diffère des classements de Steam, qui reposent sur des « scores » téléversés vers l’API. Comme pour les succès, le Microsoft Game Development Kit (GDK) XBOX dispose de deux API pour les statistiques : basées sur les événements et gérées par le titre. Contrairement aux succès, nous vous recommandons d’utiliser les statistiques et les classements basés sur les événements plutôt que ceux gérés par le titre. Cette rubrique porte sur cette API. Pour plus d’information sur les différences entre ces deux API, consultez Statistiques basées sur les événements et gérées par le titre. Les deux plateformes définissent les classements dans leurs portails. La différence est que les XBOX services vous demandent d’abord de définir une règle de statistique dans Partner Center, puis de créer un classement fondé sur la statistique alimentée par cette règle. Steam, en revanche, ne fait pas de distinction entre les deux : vous créez un classement dans son portail ou par programmation, puis vous téléversez les scores des utilisateurs directement dans ce classement. Pour illustrer l’utilisation de chacune de ces API par rapport à l’API Steam Leaderboard, des exemples de code montrent comment créer un classement de la plus grande distance parcourue (exemple tiré de la documentation de l’API Steamworks) avec le SDK Steam et avec la plateforme de statistiques basées sur les événements du XBOX Game Development Kit (GDK). Les sections suivantes présentent la logique.

Création d’une statistique ou d’un classement dans le portail

Steamworks

Dans le portail d’administration Steamworks, accédez à Stats & Achievements > Leaderboards. Remplissez le formulaire comme illustré dans la capture d’écran suivante (tirée de la documentation Steamworks). Capture d'écran du formulaire utilisé pour créer un classement dans le portail d'administration Steamworks

XBOX Game Development Kit (GDK) (basé sur les événements)

Dans Partner Center, accédez à votre jeu et sélectionnez XBOX services > Gameplay settings. Dans la barre de navigation du volet droit, sélectionnez Player Stats > Stat Rules et ajoutez une règle de statistique en tant que Show, en la configurant selon les besoins de votre statistique. Puisque nos mises à jour de statistique incluront une valeur calculée de la distance parcourue par le joueur (utilisateur) depuis la dernière mise à jour, nous allons spécifier un champ de mesure duquel le service obtiendra cette valeur.
Il n’y a aucune différence fonctionnelle selon que vous stockez les données de mise à jour d’un événement dans le champ Measurements ou Dimensions de l’événement. Ces deux champs existent pour être utilisés avec Application Insights. Pour plus d’information à ce sujet, consultez [API Application Insights pour les événements et
les métriques personnalisés](https://learn.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics). La capture d’écran suivante montre le formulaire utilisé pour créer une règle de statistique dans Partner Center. Capture d'écran du formulaire utilisé pour créer une règle de statistique dans Partner Center Après l’enregistrement, sélectionnez Leaderboard dans la barre supérieure du volet droit et créez un nouveau classement alimenté par la statistique que vous venez de créer, comme illustré dans la capture d’écran suivante. Capture d'écran du formulaire utilisé pour créer un classement dans Partner Center

Téléversement d’un score

Steamworks

Dans Steamworks, vous devez calculer la nouvelle valeur totale des pieds parcourus et l’envoyer à l’API à l’aide de la méthode ISteamUserStats::UploaderLeaderboardScore.

XBOX Game Development Kit (GDK) (basé sur les événements)

Avec les statistiques basées sur les événements du XBOX Game Development Kit (GDK), il vous suffit de transmettre la différence de pieds parcourus à XblEventsWriteInGameEvent, car nous avons spécifié que nous voulons incrémenter cette statistique à la réception d’un événement et nous avons indiqué où trouver cette valeur diff dans la chaîne JSON des mesures, comme suit.
Pour plus d’information, consultez Écriture d’un événement pour alimenter une statistique basée sur les événements.

Obtention d’un classement global

Les classements globaux peuvent être récupérés avec le SDK Steamworks en appelant ISteamUserStats::GetLeaderboardEntries, puis en appelant ISteamUserStats::GetDownloadedLeaderboardEntry dans la fonction callback pour obtenir chaque entrée ou « rangée » du classement.

Steamworks

XBOX Game Development Kit (GDK) (basé sur les événements)

Les API du XBOX Game Development Kit (GDK) suivent un modèle similaire. Construisez une requête spécifiant le classement voulu, la portée qu’il doit couvrir, la manière de le trier, les champs supplémentaires qu’il doit contenir (le cas échéant), et plus encore. Après avoir appelé XblLeaderboardGetLeaderboardAsync avec votre requête, vous pouvez utiliser XblLeaderboardGetLeaderboardResultSize et XblLeaderboardGetLeaderboardResult pour placer les résultats dans la mémoire tampon spécifiée et les parcourir, comme illustré dans l’exemple de code suivant.
Pour plus d’information, consultez les ressources suivantes :

Obtention d’un classement social

Dans Steamworks, vous pouvez utiliser l’énumération ELeaderboardDataRequest::k_ELeaderboardDataRequestFriends pour limiter la portée du classement aux amis de l’utilisateur actuel. Dans le XBOX Game Development Kit (GDK), cela s’appelle un classement social. Pour obtenir un classement social à partir des XBOXBOX services, définissez xboxIUserId sur l’ID utilisateur XBOX (XUID) de l’utilisateur actuellement connecté aux XBOX services, leaderboardName sur nullptr, et socialGroup sur XblSocialGroupType::People ou XblSocialGroupType::Favorites dans votre structure XblLeaderboardQuery. Appelez XblLeaderboardGetLeaderboardAsync comme illustré précédemment. Pour plus d’information, consultez XblSocialGroupType.

Statistiques en vedette

En plus des statistiques utilisateur habituelles servant à générer des classements semblables à ceux de Steam, les XBOX services proposent un concept supplémentaire appelé statistiques en vedette (Featured Stats). Les statistiques en vedette apparaissent sur plusieurs surfaces de l’écosystème XBOX pour votre jeu et peuvent afficher les valeurs des statistiques ou des classements des utilisateurs déjà générés. Vous pouvez créer jusqu’à 20 statistiques en vedette pour votre jeu. Pour plus d’information sur les statistiques en vedette et sur la façon de les ajouter, consultez Vue d’ensemble des statistiques en vedette et Configuration dans le portail des statistiques en vedette basées sur les événements.

Limitation du débit

Lorsque vous écrivez des événements, veillez à ne pas solliciter trop souvent l’API XBOX Services (XSAPI), car votre jeu risque d’atteindre sa limite de débit. Cela peut entraîner un comportement inattendu et une mauvaise expérience pour vos utilisateurs. Notez qu’il s’agit d’une préoccupation propre aux XBOX services qui ne pose pas de problème sur Steam. Sur Steam, l’écriture de valeurs de statistiques n’entraîne aucun appel d’API au serveur tant que votre jeu ne les synchronise pas explicitement. Pour les événements fréquents, essayez de regrouper les appels d’API afin qu’ils soient déclenchés après un certain nombre d’événements ou que la mise à jour sur le serveur se fasse à un intervalle de temps donné. Vous pouvez déboguer vos appels d’API à l’aide de l’XBOX Live Trace Analyzer (XblTraceAnalyzer.exe). Pour plus d’information sur la limitation du débit dans les XBOX services, consultez Limitation du débit à granularité fine.
Dernière modification le 6 octobre 2026