---
title: "Identifier les utilisateurs dans le SDK Capacitor"
description: "Guide de démarrage rapide pour configurer Adapty pour la gestion des abonnements intégrés dans Capacitor."
---

La façon dont vous gérez les achats des utilisateurs dépend du modèle d'authentification de votre application :
- Si votre application n'utilise pas d'authentification backend et ne stocke pas de données utilisateur, consultez la [section sur les utilisateurs anonymes](#anonymous-users).
- Si votre application dispose (ou disposera) d'une authentification backend, consultez la [section sur les utilisateurs identifiés](#identified-users).

:::tip
**Concepts clés** :
- Les **profils** sont les entités nécessaires au fonctionnement du SDK. Adapty les crée automatiquement. Ils peuvent être anonymes (sans identifiant utilisateur client) ou identifiés (avec un identifiant utilisateur client).
- Les **identifiants utilisateur client** sont des identifiants optionnels **que vous créez** pour permettre à Adapty de lier vos utilisateurs à leurs profils Adapty.
:::

Voici les différences entre les utilisateurs anonymes et les utilisateurs identifiés :

|                             | Utilisateurs anonymes                                              | Utilisateurs identifiés                                                                    |
|-----------------------------|-------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| **Gestion des achats**      | Restauration des achats au niveau du store                        | Historique des achats maintenu sur tous les appareils via leur identifiant utilisateur client |
| **Gestion des profils**     | Nouveau profil à chaque réinstallation                            | Le même profil entre les sessions et les appareils                                         |
| **Persistance des données** | Les données des utilisateurs anonymes sont liées à l'appareil/installation | Les données des utilisateurs identifiés persistent entre les appareils et les sessions     |

## Utilisateurs anonymes \{#anonymous-users\}

Si vous n'avez pas d'authentification backend, **vous n'avez pas besoin de gérer l'authentification dans le code de l'application** :

1. Lors de l'activation du SDK au premier lancement de l'application, Adapty **crée un nouveau profil pour l'utilisateur**.
2. Lorsque l'utilisateur effectue un achat dans l'application, cet achat est **associé à son profil Adapty et à son compte store**.
3. Lorsque l'utilisateur **réinstalle** l'application ou l'installe sur un **nouvel appareil**, Adapty **crée un nouveau profil vide lors de l'activation**.
4. Si l'utilisateur a déjà effectué des achats dans votre application, ceux-ci sont, par défaut, automatiquement synchronisés depuis l'App Store lors de l'activation du SDK.

:::note
Les restaurations depuis une sauvegarde se comportent différemment des réinstallations. Par défaut, lorsqu'un utilisateur restaure depuis une sauvegarde, le SDK conserve les données en cache et ne crée pas de nouveau profil. Vous pouvez configurer ce comportement via le paramètre `clearDataOnBackup`. [En savoir plus](sdk-installation-capacitor#clear-data-on-backup-restore).
:::

## Utilisateurs identifiés \{#identified-users\}

- Si un profil n'a pas encore d'identifiant utilisateur client (c'est-à-dire que **l'utilisateur n'est pas connecté**), lorsque vous envoyez un identifiant utilisateur client, celui-ci est associé à ce profil.
- S'il s'agit d'une **réinstallation, d'une connexion ou d'une installation sur un nouvel appareil**, et que vous avez déjà envoyé l'identifiant utilisateur client auparavant, aucun nouveau profil n'est créé. On bascule plutôt vers le profil existant associé à cet identifiant.

Vous avez deux options pour identifier les utilisateurs dans l'application :

- [**Lors de la connexion/inscription :**](#during-loginsignup) Si les utilisateurs se connectent après le démarrage de votre application, appelez `identify()` avec un identifiant utilisateur client lors de leur authentification.

- [**Lors de l'activation du SDK :**](#during-the-sdk-activation) Si vous disposez déjà d'un identifiant utilisateur client au moment du lancement de l'application, envoyez-le lors de l'appel à `activate()`.

:::important
Par défaut, lorsqu'Adapty reçoit un achat d'un identifiant utilisateur client qui est actuellement associé à un autre identifiant utilisateur client, le niveau d'accès est partagé, de sorte que les deux profils disposent d'un accès payant. Vous pouvez configurer ce paramètre pour transférer l'accès payant d'un profil à un autre ou désactiver complètement le partage. Consultez l'[article](general#6-sharing-paid-access-between-user-accounts) pour plus de détails.
:::

  <img src="/assets/shared/img/identify-diagram.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Lors de la connexion/inscription \{#during-loginsignup\}

Si vous identifiez les utilisateurs après le lancement de l'application (par exemple, après leur connexion ou leur inscription), utilisez la méthode `identify` pour définir leur identifiant utilisateur client.

- Si vous **n'avez jamais utilisé cet identifiant utilisateur client auparavant**, Adapty le liera automatiquement au profil actuel.
- Si vous **avez déjà utilisé cet identifiant utilisateur client pour identifier l'utilisateur**, Adapty basculera vers le profil associé à cet identifiant.

:::tip
Lors de la création d'un identifiant utilisateur client, enregistrez-le avec les données de votre utilisateur afin de pouvoir envoyer le même identifiant lorsqu'il se connecte depuis de nouveaux appareils ou réinstalle votre application.
:::

Utilisez toujours `await` avec `identify` avant d'appeler d'autres méthodes du SDK. Les appels simultanés produisent `#3006 profileWasChanged` ou atterrissent sur le profil anonyme. Voir [Ordre des appels dans le SDK Capacitor](capacitor-sdk-call-order).

```typescript showLineNumbers
try {
  await adapty.identify({ customerUserId: "YOUR_USER_ID" });
  // successfully identified
} catch (error) {
  // handle the error
}
```

### Lors de l'activation du SDK \{#during-the-sdk-activation\}

Si vous connaissez déjà un identifiant utilisateur client au moment d'activer le SDK, vous pouvez le transmettre dans la méthode `activate` plutôt que d'appeler `identify` séparément.

Si vous connaissez un identifiant utilisateur client mais ne le définissez qu'après l'activation, cela signifie qu'à l'activation, Adapty créera un nouveau profil vide et ne basculera vers le profil existant qu'après l'appel à `identify`.

Vous pouvez passer soit un identifiant utilisateur client existant (que vous avez déjà utilisé) soit un nouveau. Si vous en passez un nouveau, le profil créé lors de l'activation sera automatiquement lié à cet identifiant.

:::tip
Pour exclure les profils vides créés des analyses du tableau de bord, accédez à **App settings** et configurez la [**Installs definition for analytics**](general#4-installs-definition-for-analytics).
:::

```typescript showLineNumbers
await adapty.activate({
  apiKey: "YOUR_PUBLIC_SDK_KEY",
  params: {
    customerUserId: "YOUR_USER_ID"
  }
});
```

### Déconnecter les utilisateurs \{#log-users-out\}

Si votre application comporte un bouton de déconnexion, utilisez la méthode `logout`. Cela crée un nouvel identifiant de profil anonyme pour l'utilisateur.

```typescript showLineNumbers
try {
  await adapty.logout();
  // successful logout
} catch (error) {
  // handle the error
}
```

:::info
Pour reconnecter les utilisateurs à l'application, utilisez la méthode `identify`.
:::

### Autoriser les achats sans connexion \{#allow-purchases-without-login\}

Si vos utilisateurs peuvent effectuer des achats avant et après leur connexion à votre application, aucune configuration supplémentaire n'est nécessaire :

Voici comment cela fonctionne :
1. Lorsqu'un utilisateur déconnecté effectue un achat, Adapty l'associe à son identifiant de profil anonyme.
2. Lorsque l'utilisateur se connecte à son compte, Adapty bascule vers son profil identifié.
    - S'il s'agit d'un identifiant utilisateur client existant (déjà lié à un profil), Adapty synchronise automatiquement ses transactions.
    - S'il s'agit d'un nouvel identifiant utilisateur client (par exemple, l'achat a été effectué avant l'inscription), Adapty attribue l'identifiant utilisateur client au profil actuel, de sorte que tout l'historique des achats est conservé.