Partage de l'accès payant entre comptes utilisateurs
Lorsqu’un utilisateur effectue un achat, Adapty attribue un nouveau niveau d’accès à son profil actif. Ce niveau d’accès autorise l’acheteur à accéder au contenu payant.
Le profil de l’acheteur peut changer involontairement s’il réinstalle votre application ou se connecte à un nouveau compte dans l’application. Pour garantir un accès ininterrompu, Adapty partage automatiquement le niveau d’accès de l’utilisateur entre le profil d’origine et ceux qui lui succèdent.
Cette approche convient à la plupart des applications. Mais si votre logique métier l’exige, vous pouvez choisir une politique de partage d’accès payant plus restrictive.
Ouvrez la page General Settings pour définir une politique de partage de niveau d’accès. Pour faciliter les tests, vous pouvez modifier ce paramètre uniquement pour l’environnement sandbox.
Si votre application n’authentifie pas les utilisateurs, vous pouvez ignorer ce paramètre. Les profils anonymes associés au même compte store partagent toujours leur niveau d’accès.
Quelle politique de partage d’accès choisir ? (Cliquez pour développer)
| Mon application… | Meilleure option |
|---|---|
| N’a pas de fonctionnalité d’authentification et utilise uniquement les identifiants de profil anonymes d’Adapty. | Utilisez le paramètre Enabled (default). |
| Peut authentifier les utilisateurs, mais leur permet d’effectuer des achats sans compte. | Activez le paramètre Transfer access to new user. Les utilisateurs pourront s’inscrire et récupérer leurs achats anonymes. |
| Exige que les clients créent un compte avant d’acheter, mais peut associer un même produit à plusieurs Customer User IDs. | Activez le paramètre Transfer access to new user. Plusieurs comptes pourront accéder au produit, mais uniquement de façon séquentielle. |
| Exige que les clients créent un compte avant d’acheter, avec des règles strictes liant les achats à un seul Customer User ID. | Désactivez le partage du niveau d’accès. |
Activé (par défaut)
Ce paramètre convient mieux aux applications sans authentification intégrée. Après l’achat, tous les profils associés au même compte store héritent automatiquement du niveau d’accès.
- Si un utilisateur se connecte à votre application avec de nouveaux identifiants, il conserve l’accès au contenu payant.
- Si un utilisateur réinstalle votre application après une réinitialisation d’usine, il conserve l’accès au contenu payant.
- Si un utilisateur installe l’application sur d’autres appareils avec le même compte store, l’achat est disponible sur tous les appareils. Même si chaque instance de l’application possède son propre profil client.
Transférer l’accès à un nouvel utilisateur
Ce paramètre est particulièrement adapté aux applications qui autorisent les achats avec ou sans authentification, ou qui souhaitent appliquer une politique d’un appareil par utilisateur.
Adapty limite l’accès aux achats à 1 identifiant client à la fois. Le propriétaire de l’appareil peut réinstaller l’application, se connecter et se déconnecter, mais ne peut pas accéder au même produit depuis plus d’un identifiant client simultanément.
Lorsque ce paramètre est activé, les profils anonymes (par exemple, un profil qui devient actif après la déconnexion de l’utilisateur) héritent toujours du niveau d’accès du dernier identifiant client actif. Cela permet d’éviter toute perte d’accès ultérieure.
Lorsque vous désactivez le paramètre par défaut et activez Transfer access to new user, Adapty ne met pas immédiatement à jour les niveaux d’accès des profils clients existants.
Le basculement se produit lorsqu’un utilisateur déclenche un nouvel événement dans le store : par exemple, renouvelle son abonnement ou restaure ses achats.
Adapty ne révoque l’ancien profil que lorsque le nouveau profil possède un Customer User ID au moment où le SDK propage la transaction. Si restorePurchases s’exécute sur un profil anonyme, l’ancien Customer User ID et le nouveau profil anonyme se retrouvent tous les deux avec le niveau d’accès. L’ancien profil est révoqué plus tard, lorsque vous identifiez le profil anonyme.
Pour éviter cela, appelez les méthodes du SDK dans l’ordre : activate → identify → restorePurchases.
Le transfert déplace le niveau d’accès lui-même, pas seulement l’achat store. Lorsqu’une restauration transfère l’accès à un nouveau profil, Adapty révoque ce niveau d’accès du profil précédent même si un store différent l’avait accordé — par exemple, un achat web (Stripe) associé au même niveau d’accès. Si les achats web et intégrés doivent rester indépendants, associez leurs produits à des niveaux d’accès distincts.
Désactiver le partage des accès payants
Ce paramètre n’est approprié que pour les applications avec une authentification obligatoire ou une implémentation indépendante de la gestion des accès. Dans les autres cas, les utilisateurs risquent de ne plus pouvoir accéder à leurs achats, et votre application risque d’échouer à la revue obligatoire du store.
Si vous désactivez le partage d’accès payant, Adapty associe le produit à l’identifiant client actif au moment de l’achat, et ne partage pas le niveau d’accès avec d’autres profils clients. Cette politique permet une distribution stricte de type 1-pour-1.
Lorsque vous désactivez le partage d’accès payant, vous empêchez les identifiants clients d’hériter d’un accès payant. Si un identifiant client a hérité d’un accès payant par le passé, cet accès ne peut pas être révoqué automatiquement.
Dans les situations d’urgence, vous devrez peut-être supprimer un profil utilisateur afin que le prochain profil disponible (qu’il soit identifié ou anonyme) puisse revendiquer son niveau d’accès.
Référence pratique
Après avoir choisi un mode, les contrats ci-dessous décrivent ce à quoi vous pouvez vous attendre : quels profils voient le niveau d’accès, quand l’ancien profil le perd, et quels événements webhook se déclenchent.
| Mode | Plusieurs profils partagent un achat ? | Ancien profil révoqué lors du transfert ? | Quand l’ancien profil est révoqué | Événements webhook quand un second profil revendique l’abonnement |
|---|---|---|---|---|
| Activé (par défaut) | Oui — chaque profil qui restaure ou se connecte hérite de l’accès | Jamais | N/A | access_level_updated (is_active=true) pour chaque nouveau profil qui hérite |
| Transfer access to new user | Non — exclusif, mais transférable entre profils | Oui | Immédiatement quand le nouvel appareil identifié propage la transaction (restorePurchases, identify, ou le prochain événement côté store) | Nouveau profil : access_level_updated (is_active=true). Ancien profil : access_level_updated (is_active=false) |
| Disabled | Non — un Customer User ID par achat, de façon permanente | N/A — l’accès n’est jamais transféré | N/A | Aucun sur le second profil. Le SDK n’affiche aucun accès pour celui-ci |
Partager l’accès payant en sandbox
Vous pouvez définir une politique de partage d’accès payant spécifiquement pour l’environnement sandbox. Lorsque vous testez des achats dans l’environnement sandbox, attendez-vous au comportement suivant :
- Apple stocke les informations sur vos achats passés dans l’historique des achats du compte. Le SDK Adapty peut également y accéder.
- Si vous réinstallez l’application et qu’Adapty détecte que le produit a déjà été acheté, le profil actif héritera du niveau d’accès.
- Si Apple détecte un achat existant pour le produit, il ne vous permettra pas d’effectuer le même achat deux fois, même si le profil actif ne dispose pas du niveau d’accès nécessaire.
Ce comportement se produit indépendamment de votre paramètre de partage d’accès payant. Votre application n’affiche pas le paywall, vous ne pouvez pas acheter le produit. La seule solution est de effacer l’historique d’achats de votre compte. Suivez le guide de test en sandbox pour des instructions détaillées.
Les abonnements sandbox sur Apple se renouvellent automatiquement toutes les quelques minutes. Ces renouvellements rapides peuvent modifier le profil qu’Adapty considère comme le parent — un schéma en chaîne que la production reproduit rarement. Testez le mode que vous utilisez en production et confirmez le comportement avec un vrai identifiant Apple avant de tirer des conclusions du sandbox.
Partage d’accès payant dans les analyses
- Adapty enregistre les transactions au moment où elles se produisent. Une même transaction peut être associée à plusieurs profils, mais n’est comptabilisée qu’une seule fois.
- Si deux profils ou plus partagent le même niveau d’accès, l’achat est attribué au profil parent.
- L’héritage du niveau d’accès n’a aucun impact sur les statistiques d’installation. Pour savoir comment Adapty comptabilise les installations, vous pouvez choisir l’une des deux définitions d’installation disponibles sur la page des paramètres.