---
title: "Définir les attributs utilisateur dans le SDK Capacitor"
description: "Découvrez comment mettre à jour les attributs utilisateur et les données de profil dans votre application Capacitor 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()` :

```typescript showLineNumbers

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

try {
  await adapty.updateProfile(params);
  console.log('Profile updated successfully');
} catch (error) {
  console.error('Failed to update profile:', 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 autorisées de `AdaptyProfileParameters` et leurs valeurs sont listées ci-dessous :

| Clé | Valeur |
|---|-----|
| **email** | String |
| **phoneNumber** | String |
| **firstName** | String |
| **lastName** | String |
| **gender** | Enum, les valeurs autorisées sont : `'female'`, `'male'`, `'other'` |
| **birthday** | Chaîne de date au format ISO |

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

Vous pouvez définir vos propres attributs personnalisés. Ceux-ci sont 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ées, et dans les analyses pour déterminer quelles métriques produit influencent le plus le chiffre d'affaires.

```typescript showLineNumbers

try {
  await adapty.updateProfile({
    codableCustomAttributes: {
      key_1: 'value_1',
      key_2: 2,
    },
  });
  console.log('Custom attributes updated successfully');
} catch (error) {
  console.error('Failed to update custom attributes:', error);
}
```

Pour supprimer des clés existantes, passez `null` comme valeur :

```typescript showLineNumbers

try {
  // to remove keys, pass null as their values
  await adapty.updateProfile({
    codableCustomAttributes: {
      key_1: null,
      key_2: null,
    },
  });
  console.log('Custom attributes removed successfully');
} catch (error) {
  console.error('Failed to remove custom attributes:', error);
}
```

Il peut arriver que vous ayez besoin de savoir quels attributs personnalisés ont déjà été 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é peuvent comporter jusqu'à 30 caractères. Ils peuvent 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 flottant, avec 50 caractères maximum.