Écriture d’événements de jeu dans le service User Statistics des services XBOX
Les moments les plus palpitants d’un jeu sont ceux où il se passe quelque chose d’important : vaincre un adversaire, être vaincu, se déplacer vers un lieu, tirer avec une arme, cueillir une fleur. Grâce aux services XBOX, les titres peuvent partager des informations sur les événements importants de la partie d’un joueur. Ces détails peuvent être envoyés aux services XBOX, qui enregistrent des statistiques sur les utilisateurs. Ces statistiques peuvent ensuite être récupérées pour être utilisées dans les statistiques utilisateur, les classements et le matchmaking. Une fois que l’événement, ainsi que les données envoyées avec lui, atteint le service, les services XBOX traitent les règles que vous avez définies dans la configuration de service de votre titre afin de créer ou de mettre à jour les statistiques utilisateur, les classements, etc.Configuration dans Partner Center
Commencez par définir vos événements dans Partner Center, sur la page Player Stats | Stat rules. Une fois qu’un événement et une statistique sont définis dans Partner Center, vous pouvez suivre les étapes ci-dessous pour envoyer un événement.Écriture d’un événement
Pour un titre Microsoft Game Development Kit (GDK), l’API d’envoi d’un événement est différente de celle d’un titre XBOX One Software Development Kit, et l’utilisation du fichier manifeste n’est pas nécessaire. La fonction XblEventsWriteInGameEvent est déclarée comme suit :xboxLiveContext est le handle de contexte des services XBOX.
eventName est le nom de l’événement tel que défini dans Partner Center.
dimensions est un conteneur de propriétés correspondant aux propriétés d’événement qui prennent un ensemble fini de valeurs. Par exemple : niveau, arme ou personnage.
measurements est un conteneur de propriétés correspondant aux propriétés d’événement dont l’ensemble de valeurs est indéterminé. Par exemple : kilomètres parcourus, ennemis tués ou minutes jouées.
Les dimensions et les mesures sont détaillées ci-dessous.
Mesures et dimensions
Lorsque vous appelez XblEventsWriteInGameEvent pour les événements des services XBOX, le fait de passer une propriété d’événement en tant que dimension ou en tant que mesure ne fait aucune différence. Ces différences ne sont pertinentes que si vous analysez les événements dans Application Insights pour votre télémétrie ; elles n’ont aucun impact sur l’expérience de jeu. Vous trouverez plus d’informations dans Application Insights API for custom events and metrics. Les dimensions peuvent servir à filtrer ou à faire pivoter vos événements. Par exemple : afficher les utilisateurs ayant terminé le niveau 6, ou afficher tous les événements “Enemies Killed” pour lesquels l’arme utilisée était “Minigun”. Les mesures peuvent être affichées sous forme graphique ou se prêter à une utilisation dans un classement. Par exemple : suivi du temps, nombre de manches remportées consécutivement, etc. Mais pour une utilisation avec les services XBOX, passer une propriété d’événement en tant que mesure ou dimension ne fait aucune différence : elle sera traitée de la même manière pour le déblocage des succès et les autres fonctionnalités liées aux services XBOX.Débogage des événements des services XBOX
Si les événements de votre titre n’atteignent pas correctement les services XBOX, les statistiques mises en avant (hero stats) et les classements ne seront pas mis à jour. Si vous pensez que les événements ne sont pas correctement reçus par les services XBOX, essayez les étapes suivantes :- Vérifiez que votre sandbox est correcte.
- Configurez Fiddler sur l’appareil. Dans Fiddler, vous devriez voir les événements comme suit :

v10.vortex-win.data.microsoft.com. Vous devez décoder le corps de la requête comme indiqué ; en examinant ensuite le JSON, vous verrez quelque chose comme ceci :

