---
title: "Définir les attributs utilisateur dans le SDK Unity"
description: "Apprenez à mettre à jour les attributs utilisateur et les données de profil dans votre application Unity avec le SDK Adapty."
---

Vous pouvez définir des attributs optionnels tels que l'e-mail, le numéro de téléphone, etc., pour les utilisateurs de votre application. Vous pouvez ensuite utiliser ces attributs pour créer des [segments](segments) d'utilisateurs ou simplement les consulter dans le CRM.

### Définir les attributs utilisateur \{#setting-user-attributes\}

Pour définir les attributs utilisateur, appelez la méthode `.updateProfile()` :

```csharp showLineNumbers
var builder = new Adapty.ProfileParameters.Builder()
        .SetFirstName("John")
        .SetLastName("Appleseed")
        .SetBirthday(new DateTime(1970, 1, 3))
        .SetGender(ProfileGender.Female)
        .SetEmail("example@adapty.io");

Adapty.UpdateProfile(builder.Build(), (error) => {
    if(error != nil) {
        // handle the error                        
    }
});
```

Notez que les attributs que vous avez précédemment définis avec la méthode `updateProfile` ne seront pas réinitialisés.

:::tip

Vous souhaitez voir un exemple concret d'intégration du SDK Adapty dans une application mobile ? Consultez nos [exemples d'applications](sample-apps), qui illustrent la configuration complète, notamment l'affichage des paywalls, les achats et d'autres fonctionnalités de base.

:::

### Liste des clés autorisées \{#the-allowed-keys-list\}

Les clés `<Key>` autorisées de `AdaptyProfileParameters.Builder` et les valeurs `<Value>` correspondantes sont répertoriées ci-dessous :

| Clé | Valeur |
|---|-----|
| <p>email</p><p>phoneNumber</p><p>firstName</p><p>lastName</p> | String |
| gender | Enum, les valeurs autorisées sont : `female`, `male`, `other` |
| birthday | Date |

### Attributs utilisateur personnalisés \{#custom-user-attributes\}

Vous pouvez définir vos propres attributs personnalisés, généralement liés à l'utilisation de votre application. Par exemple, pour une application de fitness, il peut s'agir du nombre d'exercices par semaine ; pour une application d'apprentissage des langues, du niveau de connaissance de l'utilisateur, etc. Vous pouvez les utiliser dans des segments pour créer des paywalls et des offres ciblés, ainsi que dans les analyses pour identifier quelles métriques produit influencent le plus les revenus.

```csharp showLineNumbers
try {
    builder = builder.SetCustomStringAttribute("string_key", "string_value");
    builder = builder.SetCustomDoubleAttribute("double_key", 123.0f);
} catch (Exception e) {
    // handle the exception
}
```

Pour supprimer une clé existante, utilisez la méthode `.withRemoved(customAttributeForKey:)` :

```csharp showLineNumbers
try {
    builder = builder.RemoveCustomAttribute("key_to_remove");
} catch (Exception e) {
    // handle the exception
}
```

Il peut parfois être utile de connaître les attributs personnalisés déjà définis. Pour cela, utilisez le champ `customAttributes` de l'objet `AdaptyProfile`.

:::warning
Gardez à l'esprit que la valeur de `customAttributes` peut ne pas être à jour, car les attributs utilisateur peuvent être envoyés depuis différents appareils à tout moment — les attributs sur le serveur peuvent donc avoir été modifiés depuis la dernière synchronisation.
:::

### Limites \{#limits\}

- Jusqu'à 30 attributs personnalisés par utilisateur
- Les noms de clés peuvent comporter jusqu'à 30 caractères. Le nom de clé peut contenir des caractères alphanumériques ainsi que les caractères suivants : `_`  `-` `.`
- La valeur peut être une chaîne de caractères ou un nombre décimal (float) d'au plus 50 caractères.