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

# Définir les données en lecture seule d'un joueur

> Écrivez les données en lecture seule d'un joueur PlayFab à partir des API serveur afin que les clients puissent lire des valeurs de progression faisant autorité sans pouvoir les modifier.

Pour définir des paires clé-valeur en lecture seule, vous devez appeler la méthode [UpdateUserReadOnlyData](xref:titleid.playfabapi.com.server.playerdatamanagement.updateuserreadonlydata) de l'API serveur depuis un processus serveur. Il s'agit de données que le serveur peut modifier, mais que le client peut uniquement lire.

Les exemples C# de cette rubrique sont écrits pour le SDK Unity. Le SDK Unity utilise un modèle piloté par les événements pour gérer les tâches non synchrones. Pour exécuter l'exemple de code avec le SDK C#, vous devez modifier le code afin d'utiliser un modèle de tâches asynchrones (async Task). Le nom des méthodes à modifier est suivi du suffixe Async dans leur signature. Par exemple, SetObject dans le SDK Unity devient SetObjectAsync dans le SDK C#. Pour plus d'informations, consultez [Programmation asynchrone avec async et await](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/).

## Exemple de code C\#

L'exemple de code **C#** suivant utilise l'API serveur PlayFab pour créer (ou mettre à jour, si les paires clé-valeur existent déjà) les paires clé-valeur avec la clé nommée `Father` et la valeur `Fred`, `Mother` avec la valeur `Alice`, `Sister` avec la valeur `Lucy` et `Brother` avec la valeur `Doug`.

```csharp theme={null}
public void UpdateUserReadOnlyData() {
    PlayFabServerAPI.UpdateUserReadOnlyData(new UpdateUserDataRequest() {
        PlayFabId = "user PlayFabId here - obtained from any successful LoginResult",
        Data = new Dictionary<string, string>() {
            {"Father", "Fred"},
            {"Mother", "Alice"},
            {"Sister", "Lucy"},
            {"Brother", "Doug"}
        },
        Permission = UserDataPermission.Public
    },
    result => Debug.Log("Set read-only user data successful"),
    error => {
        Debug.Log("Got error updating read-only user data:");
        Debug.Log(error.GenerateErrorReport());
    });
}
```

## Voir aussi

[Obtenir les données en lecture seule d'un joueur](/fr/services/playfab/player-progression/player-data/how-to-get-read-only-player-data)


## Related topics

- [Obtenir les données en lecture seule d'un joueur](/fr/services/playfab/player-progression/player-data/how-to-get-read-only-player-data.md)
- [Démarrage rapide des données des joueurs](/fr/services/playfab/player-progression/player-data/quickstart.md)
- [Modifier les données en lecture seule ou internes d'un joueur via CloudScript](/fr/services/playfab/player-progression/player-data/how-to-modify-read-only-internal-player-data.md)
- [Définir les données internes d'un joueur](/fr/services/playfab/player-progression/player-data/how-to-set-internal-player-data.md)
- [Obtenir les données internes d'un joueur](/fr/services/playfab/player-progression/player-data/how-to-get-internal-player-data.md)
