Vérifier le statut d'abonnement dans le SDK Unity
Avec Adapty, suivre le statut d’abonnement est simple. Pas besoin d’insérer manuellement des identifiants de produit dans votre code. Il vous suffit de vérifier si un utilisateur dispose d’un niveau d’accès actif pour confirmer son statut d’abonnement.
Avant de commencer à vérifier le statut de l’abonnement (Cliquez pour développer)
- Pour iOS, configurez les notifications serveur de l’App Store
- Pour Android, configurez les notifications en temps réel pour les développeurs (RTDN)
Niveau d’accès et l’objet AdaptyProfile
Les niveaux d’accès sont des propriétés de l’objet AdaptyProfile. Nous recommandons de récupérer le profil au démarrage de votre application, par exemple lorsque vous identifiez un utilisateur, puis de le mettre à jour à chaque fois que des modifications surviennent. Ainsi, vous pouvez utiliser l’objet profil sans avoir à le redemander à chaque fois.
Pour être notifié des mises à jour de profil, écoutez les changements de profil comme décrit dans la section Écouter les mises à jour de profil, y compris les niveaux d’accès ci-dessous.
Vous souhaitez voir un exemple concret d’intégration du SDK Adapty dans une application mobile ? Découvrez nos applications exemples, qui illustrent la configuration complète, notamment l’affichage des paywalls, la réalisation d’achats et d’autres fonctionnalités de base.
Récupérer le niveau d’accès depuis le serveur
Pour obtenir le niveau d’accès depuis le serveur, utilisez la méthode .GetProfile() :
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// check the access
});
Paramètres de réponse :
| Paramètre | Description |
|---|---|
| Profile | Un objet 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 dispose d’un accès premium à l’application. La méthode |
La méthode .getProfile() vous fournit le profil utilisateur à partir duquel 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 des niveaux d’accès « sports » et « science ». Mais la plupart du temps, un seul niveau d’accès suffira ; dans ce cas, vous pouvez simplement utiliser le niveau d’accès par défaut « premium ».
Voici un exemple pour vérifier le niveau d’accès par défaut « premium » :
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// "premium" is an identifier of default access level
var accessLevel = profile.AccessLevels["premium"];
if (accessLevel != null && accessLevel.IsActive) {
// grant access to premium features
}
});
Écouter les mises à jour du statut d’abonnement
Chaque fois que l’abonnement de l’utilisateur change, Adapty déclenche un événement.
Pour recevoir les messages d’Adapty, vous devez effectuer une configuration supplémentaire :
Dans le SDK 4.1, les interfaces d’écouteur suivent la convention du préfixe C# I — implémentez IAdaptyEventListener plutôt que AdaptyEventListener — et l’interface requiert une méthode supplémentaire, OnReceivePromotedPurchase. Consultez le guide de migration.
// Extend `AdaptyEventListener ` with `OnLoadLatestProfile ` method:
public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
public void OnLoadLatestProfile(AdaptyProfile profile) {
// handle any changes to subscription state
}
}
Adapty déclenche également un événement au démarrage de l’application. Dans ce cas, le statut d’abonnement mis en cache sera transmis.
Cache du statut d’abonnement
Le cache implémenté dans le SDK Adapty stocke le statut d’abonnement du profil. Ainsi, même si le serveur est indisponible, les données en cache restent accessibles pour fournir les informations sur le statut d’abonnement du profil.
Cependant, il est important de noter qu’il n’est pas possible d’effectuer des requêtes directes sur le cache. Le SDK interroge périodiquement le serveur toutes les minutes pour vérifier s’il existe des mises à jour ou des modifications liées au profil. Si des changements sont détectés, comme de nouvelles transactions ou d’autres mises à jour, ils seront envoyés aux données en cache afin de les maintenir synchronisées avec le serveur.