---
title: "Définir les attributs utilisateur dans le SDK React Native"
description: "Apprenez à mettre à jour les attributs utilisateur et les données de profil dans votre app React Native 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 app. 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()` :

```typescript showLineNumbers
// Only for TypeScript validation

const params: AdaptyProfileParameters = {
    email: 'email@email.com',
    phoneNumber: '+18888888888',
    firstName: 'John',
    lastName: 'Appleseed',
    gender: 'other',
    birthday: new Date().toISOString(),
};

try {
    await adapty.updateProfile(params);
} catch (error) {
    // handle `AdaptyError`
}
```

Notez que les attributs définis précédemment via 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 autorisées `<Key>` de `AdaptyProfileParameters.Builder` et les valeurs `<Value>` correspondantes sont listées ci-dessous :

| Clé | Valeur |
|---|-----|
| <p>email</p><p>phoneNumber</p><p>firstName</p><p>lastName</p> | String |
| gender | Enum, valeurs autorisées : `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 app. 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ées, ainsi que dans les analyses pour déterminer quelles métriques produit influencent le plus les revenus.

```typescript showLineNumbers
try {
  await adapty.updateProfile({
    codableCustomAttributes: {
      key_1: 'value_1',
      key_2: 2,
    },
  });
} catch (error) {
    // handle `AdaptyError`
}
```

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

```typescript showLineNumbers
try {
  // to remove a key, pass null as its value
  await adapty.updateProfile({
    codableCustomAttributes: {
      key_1: null,
      key_2: null,
    },
  });
} catch (error) {
    // handle `AdaptyError`
}
```

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 être obsolète, car les attributs utilisateur peuvent être envoyés depuis différents appareils à tout moment — les attributs sur le serveur ont donc pu être modifiés depuis la dernière synchronisation.
:::

### Limites \{#limits\}

- Jusqu'à 30 attributs personnalisés par utilisateur
- Les noms de clés peuvent contenir jusqu'à 30 caractères. Ils peuvent inclure des caractères alphanumériques et l'un des symboles suivants : `_`  `-` `.`
- La valeur peut être une chaîne de caractères ou un nombre flottant, avec 50 caractères maximum.