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

# Utilisation des statistiques des joueurs

> Découvrez comment créer, mettre à jour et interroger les statistiques des joueurs PlayFab sous forme de paires clé-valeur, et comment configurer les autorisations client et serveur dans Game Manager.

Ce tutoriel décrit comment créer et utiliser des statistiques de joueurs. Les statistiques des joueurs sont stockées sous forme de paires clé-valeur (KVP), où la clé est une chaîne et la valeur est un entier de 32 bits (pour la compatibilité avec les langages qui ne prennent pas en charge le 64 bits).

Les statistiques des joueurs sont aussi utilisées par les classements, mais ce guide traite exclusivement des statistiques des joueurs. Si vous souhaitez en savoir plus sur la façon dont les statistiques des joueurs et les classements fonctionnent *ensemble*, lisez notre tutoriel [Utilisation des statistiques et des classements réinitialisables](/fr-CA/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

<Note>
  Dans certaines documentations et certains appels d'API, vous pourriez trouver le terme **UserStatistics**. Aux fins de cette discussion, les termes *utilisateur* et *joueur* sont identiques et interchangeables. Dans la page **Game Manager**, l'onglet **Players** donne accès aux **utilisateurs/joueurs** de votre titre et, à l'intérieur de celui-ci, à leurs statistiques. Les statistiques des joueurs désignent précisément l'information liée à un joueur, et non l'information analytique sur le joueur.
</Note>

## API client

Le client a accès en lecture aux statistiques des joueurs, mais pour prévenir la triche, le client ne peut pas mettre à jour les statistiques par défaut.

Pour activer cette fonctionnalité :

* [Connectez-vous à PlayFab](https://developer.playfab.com/en-us/my-games)
* Sélectionnez votre **titre**.
* Sélectionnez **Settings** dans le menu de gauche.
* Sélectionnez l'onglet **API Features**.
* Trouvez et activez **Allow client to post player statistics**.

<Note>
  Cette opération désactive une couche de sécurité pour votre titre, permettant aux joueurs de publier des scores arbitraires dans toutes leurs statistiques. Si votre jeu comporte *le moindre* aspect compétitif, nous vous recommandons de ne *jamais* publier de statistiques à partir du client.
</Note>

## Les statistiques sont des informations publiques

Il n'existe aucune statistique privée ou réservée au serveur. Un joueur peut toujours lire toutes ses propres statistiques au moyen de [GetPlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.getplayerstatistics), et peut lire les statistiques de tous les autres joueurs au moyen des appels d'API de classement. C'est le cas même si vous n'affichez *pas* une statistique dans le jeu ou n'utilisez pas de classements.

La seule exception serait si vous désactivez des fonctionnalités client au moyen de notre [stratégie d'accès aux API](/fr-CA/services/playfab/api-references/api-access-policy). Consultez ce lien pour en savoir plus sur l'utilisation des paramètres de stratégie pour les titres, car il s'agit d'un sujet avancé qui n'est pas couvert par ce tutoriel.

## Définir des statistiques

Le code Unity/C# suivant crée (ou met à jour s'il existe déjà) une valeur de *statistique de force* pour un joueur.

```csharp theme={null}
PlayFabClientAPI.UpdatePlayerStatistics( new UpdatePlayerStatisticsRequest {
    // request.Statistics is a list, so multiple StatisticUpdate objects can be defined if required.
    Statistics = new List<StatisticUpdate> {
        new StatisticUpdate { StatisticName = "strength", Value = 18 },
    }
},
result => { Debug.Log("User statistics updated"); },
error => { Debug.LogError(error.GenerateErrorReport()); });
```

## Obtenir des statistiques

Le code Unity/C# suivant récupère toutes les valeurs de statistiques actuelles d'un joueur.

```csharp theme={null}
void GetStatistics()
{
    PlayFabClientAPI.GetPlayerStatistics(
        new GetPlayerStatisticsRequest(),
        OnGetStatistics,
        error => Debug.LogError(error.GenerateErrorReport())
    );
}

void OnGetStatistics(GetPlayerStatisticsResult result)
{
    Debug.Log("Received the following Statistics:");
    foreach (var eachStat in result.Statistics)
        Debug.Log("Statistic (" + eachStat.StatisticName + "): " + eachStat.Value);
}
```

## Méthode d'agrégation

PlayFab prend en charge quelques options pratiques pour l'agrégation des statistiques. Les quatre options sont :

* **Last**
* **Min**
* **Max**
* **Sum**

Vous pouvez créer une définition de statistique au moyen de l'appel d'API [CreatePlayerStatisticDefinition](xref:titleid.playfabapi.com.admin.playerdatamanagement.createplayerstatisticdefinition), bien que ce ne soit pas obligatoire. Tout appel visant à mettre à jour une statistique de joueur pour le titre créera *automatiquement* la définition de statistique par défaut, à l'aide de la méthode d'agrégation Last.

Pour modifier la méthode d'agrégation d'une statistique, vous pouvez utiliser Game Manager ou l'appel d'API [UpdatePlayerStatisticDefinition](xref:titleid.playfabapi.com.admin.playerdatamanagement.updateplayerstatisticdefinition).

Pour modifier une définition de statistique dans **Game Manager** :

* Connectez-vous à [PlayFab](https://developer.playfab.com/en-us/my-games)

* Sélectionnez votre **titre**.

* Sélectionnez **Leaderboards** dans le menu de gauche (les **statistiques** et les **classements** sont étroitement liés).

* Sélectionnez la statistique existante que vous souhaitez modifier, ou -

* Sélectionnez le bouton **New Leaderboard**.
  * Pour une statistique existante, vous aurez une autre page, avec un bouton **Edit Leaderboard**.

* À ce stade, vous devriez voir la page illustrée ci-dessous.

  <img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/playfab-edit-leaderboard-stat-aggregation.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=5a2df0b42ab1f848705b3bac3b2633d8" alt="Classements PlayFab - Modifier le classement - Agrégation des statistiques" width="1280" height="900" data-path="images/playfab/player-progression/player-data/tutorials/playfab-edit-leaderboard-stat-aggregation.png" />

Quelques exemples d'utilisation de l'agrégation des statistiques :

* **Max** et **Min** peuvent servir à enregistrer les **meilleurs/pires** scores, comme les tirs à la tête ou la précision :
  * En bref, ils appliquent la règle suivante : **si cette valeur est plus élevée (ou plus basse) que le score existant, mettre à jour le score**.
  * Publiez la statistique à la fin de la session, et l'**agrégation Min/Max** détermine s'il faut effectuer la mise à jour ou non.
  * Ces méthodes peuvent être très utiles pour les [classements réinitialisables](/fr-CA/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards), ainsi que pour une [règle PlayStream](https://playfab.com/introducing-playstream/) qui accorde des succès.

* **Sum** pourrait servir à enregistrer des points d'expérience :
  * Vous publiez l'expérience acquise lors de ce combat, et elle est ajoutée à la valeur de statistique existante du joueur.

* **Last** vous permet de gérer la statistique vous-même :
  * Chaque fois que vous publiez une statistique, la valeur la plus récente est utilisée.

## Classements

Un classement est généré pour toutes les statistiques enregistrées dans PlayFab. L'accès au classement d'une statistique précise est facultatif.

La fréquence de réinitialisation et les méthodes d'agrégation jouent un rôle majeur dans le dynamisme des classements de votre jeu. La fonctionnalité **Tournaments** se concentre sur les classements avec des fréquences de réinitialisation automatique, et est décrite dans le tutoriel [Utilisation des statistiques et des classements réinitialisables](/fr-CA/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

Nous vous encourageons à utiliser les statistiques de toutes les façons pertinentes pour votre jeu. Vous pouvez utiliser côte à côte des statistiques réinitialisables pour organiser des tournois quotidiens et des statistiques à long terme comme les points d'expérience.


## Related topics

- [Utilisation des statistiques et des classements réinitialisables](/fr-CA/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards.md)
- [Utilisation des détails des joueurs](/fr-CA/services/playfab/player-progression/player-data/player-details.md)
- [Inscription aux notifications de modification des statistiques des joueurs](/fr-CA/services/xbox-services/fundamentals/rta/concepts/live-register-for-stat-notifications.md)
- [Métadonnées des statistiques](/fr-CA/services/playfab/player-progression/statistics/metadata-statistics.md)
- [Utilisation des données de groupe partagées](/fr-CA/services/playfab/community/associations/groups/using-shared-group-data.md)
