---
title: "Vérifier le statut d'abonnement dans le SDK Flutter"
description: "Apprenez à vérifier le statut d'abonnement dans votre application Flutter 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 pour décider ce que les utilisateurs doivent voir — afficher un paywall ou 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 données de profil les plus récentes immédiatement (par exemple au lancement de l'application) ou si vous souhaitez forcer une mise à jour.
- Configurez les **mises à jour automatiques du profil** pour conserver une copie locale automatiquement actualisée à chaque changement de statut d'abonnement.

### Obtenir 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 :

```dart showLineNumbers
try {
  final profile = await Adapty().getProfile();
  // check the access
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
}
```

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

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

1. Utilisez `Adapty().didUpdateProfileStream.listen()` pour écouter les changements de profil — Adapty appellera automatiquement cette méthode chaque fois que le statut d'abonnement de l'utilisateur change.
2. Enregistrez les données de profil mises à jour lorsque cette méthode est appelée, afin de pouvoir les utiliser dans toute votre application sans effectuer de requêtes réseau supplémentaires.

```dart
class SubscriptionManager {
  AdaptyProfile? _currentProfile;
  
  SubscriptionManager() {
    // Listen for profile updates
    Adapty().didUpdateProfileStream.listen((profile) {
      _currentProfile = profile;
      // Update UI, unlock content, etc.
    });
  }
  
  // Use stored profile instead of calling getProfile()
  bool hasAccess() {
    return _currentProfile?.accessLevels['premium']?.isActive ?? false;
  }
}
```

:::note
Adapty appelle automatiquement le listener du flux de mise à jour du profil au démarrage de votre application, fournissant des données d'abonnement en cache même si l'appareil est hors ligne.
:::

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

Lorsque vous devez prendre des décisions immédiates concernant l'affichage des paywalls ou l'accès aux fonctionnalités payantes, vous pouvez vérifier directement le profil de l'utilisateur. Cette approche est utile dans des scénarios tels que le lancement de l'application, l'accès aux sections premium ou l'affichage de contenu spécifique.

```dart
Future<bool> _checkAccessLevel() async {
  try {
    final profile = await Adapty().getProfile();
    return profile.accessLevels['YOUR_ACCESS_LEVEL']?.isActive ?? false;
  } catch (e) {
    print('Error checking access level: $e');
    return false; // Show paywall if access check fails
  }
}

Future<void> _initializePaywall() async {
  await _loadPaywall();
  
  final hasAccess = await _checkAccessLevel();
  if (!hasAccess) {
    // Show paywall if no access
  }
}
``` 

## Prochaines étapes \{#next-steps\}

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