---
title: "Vérifier le statut d'abonnement dans le SDK Capacitor"
description: "Apprenez à vérifier le statut d'abonnement dans votre app Capacitor avec Adapty."
---

Pour décider si les utilisateurs peuvent accéder au contenu payant ou voir un paywall, vous devez vérifier leur [niveau d'accès](access-level) dans le profil.

Cet article vous montre comment accéder à l'état du profil afin de déterminer ce que l'utilisateur doit voir — lui afficher un paywall ou lui donner accès aux fonctionnalités payantes.

## Obtenir le statut d'abonnement \{#get-subscription-status\}

Lorsque vous décidez d'afficher un paywall ou du contenu payant à un utilisateur, vous vérifiez son [niveau d'accès](access-level) dans son profil. Deux options s'offrent à vous :

- Appelez `getProfile` si vous avez besoin des dernières données du profil immédiatement (par exemple au démarrage de l'app) ou si vous souhaitez forcer une mise à jour.
- Configurez des **mises à jour automatiques du profil** pour conserver une copie locale qui se rafraîchit automatiquement dès que le statut d'abonnement change.

### Récupérer le profil \{#get-profile\}

La façon la plus simple d'obtenir le statut d'abonnement est d'utiliser la méthode `getProfile` pour accéder au profil :

```typescript showLineNumbers
try {
  const profile = await adapty.getProfile();
} catch (error) {
  // handle the error
}
```

### Écouter les mises à jour d'abonnement \{#listen-to-subscription-updates\}

Pour recevoir automatiquement les mises à jour du profil dans votre app :

1. Utilisez `adapty.addListener('onLatestProfileLoad')` pour écouter les changements de profil — Adapty appellera automatiquement cette méthode chaque fois que le statut d'abonnement de l'utilisateur change.
2. Stockez les données du profil mis à jour lorsque cette méthode est appelée, afin de pouvoir les utiliser partout dans votre app sans effectuer de requêtes réseau supplémentaires.

```typescript showLineNumbers
class SubscriptionManager {
  private currentProfile: any = null;
  
  constructor() {
    // Listen for profile updates
    adapty.addListener('onLatestProfileLoad', (data) => {
      this.currentProfile = data.profile;
      // Update UI, unlock content, etc.
    });
  }
  
  // Use stored profile instead of calling getProfile()
  hasAccess(): boolean {
    return this.currentProfile?.accessLevels?.['YOUR_ACCESS_LEVEL']?.isActive ?? false;
  }
}
```

:::note
Adapty appelle automatiquement le listener d'événement `onLatestProfileLoad` au démarrage de votre app, fournissant les données d'abonnement en cache même si l'appareil est hors ligne.
:::

## Connecter le profil avec la logique de paywall \{#connect-profile-with-paywall-logic\}

Lorsque vous devez prendre des décisions immédiates concernant l'affichage de paywalls ou l'accès aux fonctionnalités payantes, vous pouvez vérifier le profil de l'utilisateur directement. Cette approche est utile dans des scénarios comme le démarrage de l'app, l'accès aux sections premium ou l'affichage de contenus spécifiques.

```typescript showLineNumbers

const checkAccessLevel = async () => {
  try {
    const profile = await adapty.getProfile();
    return profile?.accessLevels?.['YOUR_ACCESS_LEVEL']?.isActive === true;
  } catch (error) {
    console.warn('Error checking access level:', error);
    return false; // Show paywall if access check fails
  }
};

const getAccessLevel = (profile: AdaptyProfile) => {
  return profile.accessLevels?.['YOUR_ACCESS_LEVEL'];
};

const initializePaywall = async () => {
  try {
    await loadPaywall();
    
    const hasAccess = await checkAccessLevel();
    if (!hasAccess) {
      // Show paywall if no access
    }
  } catch (error) {
    console.warn('Error initializing paywall:', error);
  }
};
```

## Étapes suivantes \{#next-steps\}

Maintenant que vous savez comment suivre le statut d'abonnement, apprenez à [travailler avec les profils utilisateurs](capacitor-quickstart-identify) pour vous assurer qu'ils ont accès à ce pour quoi ils ont payé.