> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Premier aperçu des statistiques basées sur les événements

> Premier aperçu de la configuration d'un événement et d'une statistique XBOX Live dans Partner Center, puis de l'ajout de code pour envoyer des événements et mettre à jour les statistiques.

Pour les titres configurés dans Partner Center avec des statistiques basées sur les événements, cette rubrique vous montre comment configurer un événement et une statistique dans Partner Center, puis ajouter du code à votre titre pour envoyer des événements et mettre à jour les statistiques.

## Se connecter à Partner Center

Les exemples suivants utilisent Partner Center pour configurer des expériences de jeu XBOX.

Une fois que votre entreprise dispose d'un accord pour créer des produits pour XBOX, configurez votre contenu dans Partner Center. Si votre entreprise n'a pas encore d'accès à Partner Center et que vous développez un jeu, contactez votre gestionnaire de compte Microsoft. Si vous développez une application, contactez XBOX App Partner Requests ([xboxapps@microsoft.com](mailto:xboxapps@microsoft.com)). Si vous participez au programme ID\@XBOX, contactez ID Setup ([idsetup@microsoft.com](mailto:idsetup@microsoft.com)).

Le programme ID\@XBOX permet aux développeurs de jeux qualifiés de toutes tailles de libérer leur créativité en autopubliant des jeux numériques sur XBOX One (ou version ultérieure). Il fournit aux studios les outils et le soutien dont ils ont besoin pour maximiser leurs chances de succès. Pour en savoir plus, rendez-vous sur [https://www.xbox.com/Developers](https://www.xbox.com/Developers).

Une fois que vous avez accès à Partner Center, Microsoft doit créer un groupe de produits pour votre jeu. Votre gestionnaire de compte Microsoft peut vous accompagner dans cette démarche.

Une fois que Microsoft a créé un groupe de produits pour votre jeu, utilisez Partner Center pour configurer les services XBOX de votre jeu. La configuration des services XBOX de votre jeu est également appelée sa *configuration de service*.

Suivez les étapes ci-dessous pour accéder à l'emplacement de Partner Center où vous pouvez ajouter les événements, statistiques, succès et classements de votre jeu.

1. Connectez-vous à votre compte sur [Partner Center](https://developer.microsoft.com/dashboard/windows/overview).

2. Sélectionnez le groupe de produits qui contient ou contiendra votre jeu.

3. Sur la page **Product Group**, sélectionnez votre jeu ou sélectionnez **Add New Product** pour créer une nouvelle entrée.

4. Si vous créez un nouveau produit, entrez un nom pour celui-ci.

5. Pour l'accès aux ressources, sélectionnez **Exclusive Resource Access (ERA)**.

6. Indiquez si vous devez produire un support physique pour le jeu ou s'il sera uniquement disponible en téléchargement numérique.

7. Sélectionnez **Create Product**.

8. En bas du volet de gauche, développez le bac à sable dans lequel votre produit a été créé.

   Les configurations de service sont définies au niveau du bac à sable. Si vous exportez votre produit vers un autre bac à sable, vous devez également exporter votre configuration de service.

9. Dans le sous-menu du bac à sable, sélectionnez **Service Configuration**. Utilisez cette page pour configurer les services XBOX de votre titre dans le bac à sable actuel.

## Identifier et définir les événements pour vos scénarios

Dans Partner Center, avant de pouvoir définir les règles qui implémentent les expériences de joueur que nous voulons obtenir, nous devons identifier et définir les événements qui alimenteront ces expériences.

Dans le modèle basé sur les événements, les succès et les classements reposent sur les statistiques de joueur. Nous pouvons donc examiner les statistiques que nous allons définir pour déterminer les événements que notre titre devra envoyer.

Pour alimenter les expériences que nous allons définir dans cet exemple, nous utiliserons un événement envoyé à la fin de chaque tour d'une course.

Appelons cet événement `LapCompleted`. Nous l'utiliserons pour alimenter nos expériences personnalisées. Pour ce faire, nous définirons également les champs suivants dans notre événement `LapCompleted`.

* **LapTime** : champ qui indique le temps, en minutes, nécessaire pour effectuer un tour.

* **CarModel** : champ de type chaîne qui indique le modèle de la voiture utilisée pour effectuer le tour.

* **WeatherCondition** : champ de type chaîne qui identifie les conditions météorologiques sur le circuit lorsque le tour a été effectué.

* **TrackId** : ID du circuit sur lequel le tour a été effectué.

Nous allons maintenant définir cet événement dans Partner Center.

1. Dans Partner Center, dans le volet de gauche, sélectionnez **Test Sandbox** > **Service Configuration** > **Events & Stat Rules**.

2. Sélectionnez **New** pour créer un nouvel événement. La boîte de dialogue **Add New Event** s'affiche, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/AddNewEvent-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=d620d2ea30f73bfb53fcebfe7356f526" alt="Capture d'écran de la boîte de dialogue Add New Event dans Partner Center." width="350" height="560" data-path="images/gdk/services/AddNewEvent-XDP.png" />

3. Sélectionnez **Base** dans **Base Event**.

4. Entrez *LapCompleted* dans **Event Name**.

5. Si vous le souhaitez, entrez une description de l'événement dans **Description**.

6. Sélectionnez **Add Event Field**.

7. Entrez *LapTime* dans **Field Name**, puis spécifiez **Double** comme **Type**, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/LapTimeField-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=1ed0a8c599be8bd3551ce963df1945dd" alt="Capture d'écran de la boîte de dialogue Add New Event Field dans Partner Center." width="352" height="439" data-path="images/gdk/services/LapTimeField-XDP.png" />

8. Sélectionnez **Add Event Field**.

9. Répétez la procédure pour ajouter les champs d'événement suivants.

   * *CarModel* : **UnicodeString**

   * *WeatherCondition* : **UnicodeString**

   * *TrackId* : **Int32**

   Votre événement doit ressembler à la capture d'écran suivante.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/LapCompletedEvent-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=c30cfa0f508b2a7126abce03dccfda91" alt="Capture d'écran de l'événement LapCompleted nouvellement défini dans Partner Center." width="347" height="644" data-path="images/gdk/services/LapCompletedEvent-XDP.png" />

10. Sélectionnez **Save Event** pour enregistrer l'événement dans votre bac à sable.

## Concevoir des règles de statistiques

Maintenant que nous avons défini les expériences de joueur, nous pouvons commencer à créer les règles de statistiques qui les implémentent. Comme nous utilisons `LapTime` pour les trois scénarios (statistiques mises en avant, succès et classements), nous la configurerons en premier.

Cette statistique apparaîtra en tant que statistique mise en avant (également appelée statistique principale ou hero stat) et sera également utilisée pour un classement global avec des métadonnées supplémentaires.

Le jeu déclenche des événements en jeu lorsque certaines actions se produisent dans le jeu ; ces événements sont considérés comme les données brutes servant à créer les statistiques. Au moins une statistique doit être créée ou mise à jour par chaque événement.
(Pour plus d'informations sur la génération de plusieurs statistiques à partir d'un seul événement, consultez [Vue d'ensemble des statistiques basées sur les événements](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/live-stats-eb-overview).)

1. Sur la page **Events & Stat Rules**, sélectionnez l'événement **LapCompleted** dans la liste des événements.

2. Sélectionnez **New** (à droite de **Stat Rules**) pour créer une nouvelle règle de statistique. Elle sera basée sur l'événement sélectionné. La boîte de dialogue **Add Stat Rule** s'affiche, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/AddNewStatRule-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=1f3c0e2cdfb3a9df22550c6a07a80d44" alt="Capture d'écran de la boîte de dialogue Add Stat Rule dans Partner Center." width="473" height="474" data-path="images/gdk/services/AddNewStatRule-XDP.png" />

3. Entrez *FastestLap* dans **Stat Rule Name**.

4. Comme nous voulons que d'autres applications et titres puissent accéder aux statistiques créées par cette règle, cochez la case **Open read access to any title**.

   Les règles de statistiques contiennent une logique qui définit la manière dont l'événement crée ou met à jour la statistique. Comme nous voulons suivre le tour le plus rapide, nous voulons mettre à jour la valeur de la statistique uniquement si le nouveau temps au tour est inférieur au meilleur temps existant.

5. Pour ce faire, sélectionnez **Min** dans **Operator** et **LapTime** dans **Parameter**, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/MinLapTime-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=93ff9ebb88b0843595386481e4ae455c" alt="Capture d'écran des sélections Operator et Parameter d'une règle de statistique dans Partner Center." width="465" height="470" data-path="images/gdk/services/MinLapTime-XDP.png" />

Enfin, nous devons nous assurer que l'événement contient toutes les données supplémentaires (appelées *contexte de statistique* ou *métadonnées*) nécessaires pour cette statistique spécifique : la voiture du joueur, le circuit et les conditions météorologiques.

6. Pour ajouter le champ aux métadonnées, sélectionnez **CarModel**, puis **Add Event Field**.

7. Répétez l'opération pour les champs **WeatherCondition** et **TrackId**, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/FastestLapStatRule-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=9d517a1980e04cff73ff42bbc058a5b9" alt="Capture d'écran de la règle de statistique FastestLap avec ses métadonnées dans Partner Center." width="462" height="537" data-path="images/gdk/services/FastestLapStatRule-XDP.png" />

8. Sélectionnez **Add Stat Rule** pour créer la règle de statistique.

## Configurer les statistiques mises en avant, les classements et les succès

### Statistiques mises en avant

Maintenant que la règle de statistique est terminée, nous voulons que la statistique apparaisse dans l'onglet Achievement du GameHub. Nous devons donc configurer une statistique mise en avant (appelée hero stat dans Partner Center).

1. Dans Partner Center, dans le volet de gauche, sélectionnez **Test Sandbox** > **Service Configuration** > **Hero Stats**.

2. Sélectionnez **New** pour ajouter une nouvelle statistique mise en avant.

3. Entrez *Fastest Lap* dans **Hero Stat Display Name**.

4. Sélectionnez **ShortTimespan** dans **Display Format**. Sélectionnez **Seconds** dans **Display Units**.

5. Sélectionnez **Best** dans **Display Semantic**. Cela indique aux applications compagnons que la valeur représente le meilleur score pour la statistique.

6. Sélectionnez **Select an Instance**, puis sélectionnez **FastestLap** dans **Stat Instance**. Cela indique que la statistique mise en avant repose sur la valeur de la statistique `FastestLap`.

7. Entrez *1* dans **Ordinal**. Cela indique que cette statistique mise en avant doit être affichée en premier dans la liste des statistiques mises en avant.

8. Sélectionnez **Ascending** dans **Sort Order**. Cela indique que les valeurs les plus faibles sont meilleures que les valeurs les plus élevées, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/FastestLapHeroStat-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=10ef730c295cc621a9489e24dab801f1" alt="Capture d'écran de la statistique principale Fastest Lap dans Partner Center." width="462" height="422" data-path="images/gdk/services/FastestLapHeroStat-XDP.png" />

9. Sélectionnez **Add New Hero Stat** pour créer la statistique mise en avant.

### Classement global

À l'aide de la même statistique de temps au tour, nous pouvons configurer un classement afin que chaque joueur puisse voir comment son temps au tour se classe par rapport à tous les autres joueurs du monde.

1. Dans Partner Center, dans le volet de gauche, sélectionnez **Test Sandbox** > **Service Configuration** > **Leaderboards**.

2. Sélectionnez **New** pour créer un nouveau classement global.

3. Entrez *FastestLap* dans **Leaderboard ID**.

4. Sélectionnez **Select an Instance**, sélectionnez la règle de statistique **FastestLap** créée précédemment, puis sélectionnez **Add Stat Instance**.

5. Sélectionnez **Ascending** dans **Sort**, comme illustré ci-dessous. Cette sélection indique que les temps les plus courts sont les meilleurs.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/FastestLapLeaderboard-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=397f88a12dc095812ec3f83a5da1c3ec" alt="Capture d'écran du classement Fastest Lap dans Partner Center." width="462" height="321" data-path="images/gdk/services/FastestLapLeaderboard-XDP.png" />

6. Sélectionnez **Add New Leaderboard** pour créer un nouveau classement global.

À mesure que les statistiques des joueurs sont mises à jour, le classement est également mis à jour pour refléter tout changement de rang.

S'il existe déjà des statistiques de joueur lorsque vous créez le classement, la mise à jour du nouveau classement avec ces statistiques peut prendre plusieurs heures.

### Succès basés sur les événements

Nous vous recommandons d'utiliser les succès gérés par le titre. Toutefois, pour les titres qui utilisent encore les succès basés sur les événements, vous pouvez utiliser des événements pour alimenter le déverrouillage des succès sur le service, comme suit.

**Pour utiliser des événements afin de déverrouiller des succès basés sur les événements**

1. Dans Partner Center, dans le volet de gauche, sélectionnez **Test Sandbox** > **Service Configuration** > **Achievements & Challenges**.

2. Sélectionnez **New** pour ajouter un nouveau succès.

3. Entrez *Under 60 seconds* dans **Achievement Name**.

4. Entrez *Completed a lap in under 60 seconds* dans **Description**. Cette description s'affiche pour les joueurs lorsque le succès est déverrouillé.

5. Entrez *Complete a lap in under 60 seconds* dans **Not Achieved Description**. Cette description s'affiche pour les joueurs tant que le succès est verrouillé.

6. Chargez un fichier .png de 1920 × 1080 pixels qui servira d'**Achievement Icon**, comme illustré ci-dessous.

   <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Under60Achievement-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=a5b278e08b2cb2ff9659f51e309cbcf6" alt="Capture d'écran de la boîte de dialogue Add New Achievement dans Partner Center." width="338" height="595" data-path="images/gdk/services/Under60Achievement-XDP.png" />

7. Sélectionnez **Add Achievement** pour créer le succès.

8. Vérifiez que le succès **Under 60 seconds** est sélectionné dans la liste des succès. Sélectionnez **New** à droite de **Rewards** pour attribuer une récompense au joueur qui déverrouille le succès.

9. Attribuez au joueur 20 points de gamerscore pour le déverrouillage de ce succès. Dans **Reward Type**, sélectionnez **Gamerscore**.

10. Entrez *20* dans **Value**, comme illustré ci-dessous.

    <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Under60AchievementReward-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=470435fd47f489a6e962741d921d6be8" alt="Capture d'écran de la boîte de dialogue Add New Award dans Partner Center." width="462" height="250" data-path="images/gdk/services/Under60AchievementReward-XDP.png" />

11. Sélectionnez **Add Reward**.

12. Vérifiez que le succès **Under 60 seconds** est toujours sélectionné dans la liste des succès. Sélectionnez **New** à droite de **Rules** pour définir les conditions de déverrouillage du succès.

13. Entrez *Under 60 seconds rule* dans **Rule Name**. Cette valeur n'est pas visible par le joueur ; vous pouvez donc lui donner le nom que vous voulez.

14. Sélectionnez **Min** dans **Action**. Cela indique que le succès est déverrouillé lorsque l'instance de statistique sélectionnée est inférieure ou égale à la valeur de seuil.

15. Entrez *60* dans **Threshold**.

16. Sélectionnez **Select an Instance**, sélectionnez la règle de statistique **FastestLap**, puis sélectionnez **Add Stat Instance**.

17. Sélectionnez **Add Rule** pour créer la règle du succès, comme illustré ci-dessous.

    <img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Under60AchievementRule-XDP.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=09ee171845326525664f12f8e2c8d58d" alt="Capture d'écran de la boîte de dialogue Add New Rule d'un succès dans Partner Center." width="462" height="338" data-path="images/gdk/services/Under60AchievementRule-XDP.png" />

### Ajouter du code pour envoyer l'événement depuis votre jeu

Maintenant que nous avons défini l'événement `LapCompleted` que les services XBOX utiliseront pour mettre à jour nos scénarios de joueur, nous devons ajouter du code au jeu pour envoyer l'événement lorsqu'un joueur termine un tour de course dans le jeu.

Pour écrire un événement, appelez la fonction [XblEventsWriteInGameEvent](/fr/reference/live/xsapi-c/events_c/functions/xbleventswriteingameevent) avec le nom d'événement `LapCompleted`.

**API C plate**

```cpp theme={null}
    HRESULT hr = XblEventsWriteInGameEvent(
        xboxLiveContext,
        "LapCompleted",
        R"({"DifficultyLevelId":100, "GameplayModeId":"Adventure"})",
        R"({"LocationX":1,"LocationY":1})"
    );
```

## Voir aussi

[Vue d'ensemble des événements](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/events/live-game-events)


## Related topics

- [Configuration dans le portail des statistiques et classements basés sur les événements](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-statslb-eb-config-nav.md)
- [Configuration](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/config/index.md)
- [Obtenir les statistiques basées sur les événements](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-getting-eb-stat.md)
- [Statistiques basées sur les événements et statistiques gérées par le titre](/fr/services/xbox-services/player-data/stats-leaderboards/live-stats-eb-vs-tm.md)
- [Vue d'ensemble des statistiques basées sur les événements](/fr/services/xbox-services/player-data/stats-leaderboards/event-based/live-stats-eb-overview.md)
