Passer au contenu principal
Les classements des XBOX services sont dérivés des statistiques des utilisateurs et construits à partir de requêtes. Cela diffère des classements de Steam, qui reposent sur des « scores » chargés vers l’API. Comme pour les succès, le Microsoft Game Development Kit (GDK) XBOX dispose de deux API pour les statistiques : basée sur les événements et gérée par le titre. Contrairement aux succès, nous vous recommandons d’utiliser les statistiques et classements basés sur les événements plutôt que ceux gérés par le titre. Cette rubrique se concentre sur cette API. Pour plus d’informations sur les différences entre ces deux API, consultez Statistiques basées sur les événements et statistiques gérées par le titre. Les deux plateformes définissent les classements sur 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 basé 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 leur portail ou par programmation, puis vous chargez directement les scores des utilisateurs dans ce classement. Pour illustrer comment chacune de ces API peut être utilisée par rapport à l’API Steam Leaderboard, des exemples de code montrent comment créer un classement de la plus grande distance parcourue (l’exemple provient de la documentation de l’API Steamworks) avec le SDK Steam et avec la plateforme de statistiques basées sur les événements du Microsoft Game Development Kit (GDK) XBOX. Les sections suivantes décrivent la logique.

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

Steamworks

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

Microsoft Game Development Kit (GDK) XBOX (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. Comme nos mises à jour de statistiques incluront une valeur calculée de la distance parcourue par le joueur (l’utilisateur) depuis la dernière mise à jour, nous spécifions un champ de mesure dans lequel 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’informations à ce sujet, consultez [API Application Insights pour les événements et
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 indiqué dans la capture d’écran suivante. Capture d'écran du formulaire utilisé pour créer un classement dans Partner Center

Chargement 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.

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

Avec les statistiques basées sur les événements du Microsoft Game Development Kit (GDK) XBOX, il vous suffit de transmettre la différence de pieds parcourus à XblEventsWriteInGameEvent, car nous avons indiqué que nous souhaitons incrémenter cette statistique à la réception d’un événement et précisé où trouver cette valeur diff dans la chaîne JSON des mesures, comme suit.
Pour plus d’informations, 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 « ligne » du classement.

Steamworks

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

Les API du Microsoft Game Development Kit (GDK) XBOX suivent un modèle similaire. Créez une requête précisant le classement souhaité, sa portée, son mode de tri, les champs supplémentaires qu’il doit contenir (le cas échéant), etc. 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 le montre l’exemple de code suivant.
Pour plus d’informations, consultez les ressources suivantes :

Obtention d’un classement social

Dans Steamworks, vous pouvez utiliser l’énumération ELeaderboardDataRequest::k_ELeaderboardDataRequestFriends pour limiter le classement aux amis de l’utilisateur actuel. Dans le Microsoft Game Development Kit (GDK) XBOX, on parle de classement social. Pour obtenir un classement social auprès des XBOX services, définissez xboxIUserId sur l’ID d’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 indiqué précédemment. Pour plus d’informations, consultez XblSocialGroupType.

Statistiques mises en avant

Outre les statistiques utilisateur habituelles utilisées pour générer des classements de type Steam, les XBOX services proposent un concept supplémentaire appelé Featured Stats (statistiques mises en avant). Les Featured Stats apparaissent sur plusieurs surfaces de l’écosystème XBOX pour votre jeu et peuvent afficher les valeurs des statistiques des utilisateurs ou des classements déjà générés. Vous pouvez créer jusqu’à 20 Featured Stats pour votre jeu. Pour plus d’informations sur les Featured Stats et sur la façon de les ajouter, consultez Vue d’ensemble des Featured Stats et Configuration dans le portail des Featured Stats 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 risquerait 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 se pose pas sur Steam. L’écriture de valeurs de statistiques sur Steam ne déclenche pas d’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 d’effectuer la mise à jour sur le serveur à 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’informations sur la limitation du débit dans les XBOX services, consultez Limitation de débit précise.
Dernière modification le 6 octobre 2026