---
title: "Vérifier le statut d'abonnement dans le SDK Capacitor"
description: "Suivez et gérez le statut d'abonnement des utilisateurs dans Adapty pour améliorer la rétention client dans votre application Capacitor."
---

Avec Adapty, suivre le statut d'abonnement est simple. Pas besoin d'insérer manuellement des identifiants de produits dans votre code. Il vous suffit de vérifier la présence d'un [niveau d'accès](access-level) actif pour confirmer l'état de l'abonnement d'un utilisateur.

<details>
   <summary>Avant de vérifier le statut d'abonnement (cliquez pour développer)</summary>

- Pour iOS, configurez les [notifications serveur App Store](enable-app-store-server-notifications)
- Pour Android, configurez les [notifications en temps réel pour les développeurs (RTDN)](enable-real-time-developer-notifications-rtdn)
</details>

## Niveau d'accès et objet AdaptyProfile \{#access-level-and-the-adaptyprofile-object\}

Les niveaux d'accès sont des propriétés de l'objet [AdaptyProfile](https://capacitor.adapty.io/interfaces/adaptyprofile). Nous recommandons de récupérer le profil au démarrage de l'application, par exemple lors de [l'identification d'un utilisateur](capacitor-identifying-users#setting-customer-user-id-on-configuration), puis de le mettre à jour à chaque changement. Ainsi, vous pouvez utiliser l'objet profil sans avoir à le redemander sans cesse.

Pour être notifié des mises à jour du profil, écoutez les changements comme décrit dans la section [Écouter les mises à jour du profil, y compris les niveaux d'accès](capacitor-listen-subscription-changes) ci-dessous.

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

:::

## Récupérer le niveau d'accès depuis le serveur \{#retrieving-the-access-level-from-the-server\}

Pour obtenir le niveau d'accès depuis le serveur, utilisez la méthode `.getProfile()` :

```typescript showLineNumbers

try {
  const profile = await adapty.getProfile();
  console.log('Profile retrieved successfully');
} catch (error) {
  console.error('Failed to get profile:', error);
}
```

Paramètres de réponse :

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| --------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **profile**   | Un objet [AdaptyProfile](https://capacitor.adapty.io/interfaces/adaptyprofile). En général, il suffit de vérifier le statut du niveau d'accès du profil pour déterminer si l'utilisateur bénéficie d'un accès premium. La méthode `.getProfile` renvoie le résultat le plus récent en interrogeant toujours l'API. Si, pour une raison quelconque (par exemple, absence de connexion Internet), le SDK Adapty ne parvient pas à récupérer les informations depuis le serveur, les données du cache sont renvoyées. Il est également important de noter que le SDK Adapty met régulièrement à jour le cache `AdaptyProfile` pour que ces informations restent aussi récentes que possible. |

La méthode `.getProfile()` vous fournit le profil utilisateur depuis lequel vous pouvez obtenir le statut du niveau d'accès. Vous pouvez avoir plusieurs niveaux d'accès par application. Par exemple, si vous avez une application de presse et vendez des abonnements à différentes thématiques indépendamment, vous pouvez créer les niveaux d'accès « sports » et « science ». Mais la plupart du temps, un seul niveau d'accès suffit — dans ce cas, vous pouvez simplement utiliser le niveau d'accès « premium » par défaut.

Voici un exemple pour vérifier le niveau d'accès « premium » par défaut :

```typescript showLineNumbers

try {
  const profile = await adapty.getProfile();
  
  const isActive = profile.accessLevels?.['premium']?.isActive;
  if (isActive) {
    // Grant access to premium features
    console.log('User has premium access');
  } else {
    console.log('User does not have premium access');
  }
} catch (error) {
  console.error('Failed to check subscription status:', error);
}
```

### Écouter les mises à jour du statut d'abonnement \{#listening-for-subscription-status-updates\}

Chaque fois que l'abonnement d'un utilisateur change, Adapty déclenche un événement.

Pour recevoir des messages d'Adapty, vous devez effectuer une configuration supplémentaire :

```typescript showLineNumbers

// Create an "onLatestProfileLoad" event listener
adapty.addListener('onLatestProfileLoad', (data) => {
  const profile = data.profile;
  const isActive = profile.accessLevels?.['premium']?.isActive;
  
  if (isActive) {
    console.log('Subscription status updated: User has premium access');
  } else {
    console.log('Subscription status updated: User does not have premium access');
  }
});
```

Adapty déclenche également un événement au démarrage de l'application. Dans ce cas, le statut d'abonnement mis en cache est transmis.

### Cache du statut d'abonnement \{#subscription-status-cache\}

Le cache intégré au SDK Adapty stocke le statut d'abonnement du profil. Cela signifie que même si le serveur est indisponible, les données mises en cache restent accessibles pour fournir des informations sur le statut d'abonnement du profil.

Il est toutefois important de noter qu'il n'est pas possible d'interroger directement le cache. Le SDK interroge périodiquement le serveur toutes les minutes pour détecter les mises à jour ou changements liés au profil. Si des modifications sont détectées — nouvelles transactions ou autres mises à jour — elles sont appliquées aux données en cache afin de les synchroniser avec le serveur.