Identifier les utilisateurs dans le SDK Android

Adapty crée un identifiant de profil interne pour chaque utilisateur. Cependant, si vous disposez de votre propre système d’authentification, vous devez définir votre propre Customer User ID. Vous pouvez retrouver les utilisateurs par leur Customer User ID dans la section Profiles et l’utiliser dans l’API côté serveur, qui sera transmise à toutes les intégrations.

Définir le Customer User ID lors de la configuration

Si vous disposez d’un identifiant utilisateur au moment de la configuration, passez-le simplement en tant que paramètre customerUserId à la méthode .activate() :

Adapty.activate(applicationContext, "PUBLIC_SDK_KEY", customerUserId = "YOUR_USER_ID")

Vous souhaitez voir un exemple concret d’intégration du SDK Adapty dans une application mobile ? Consultez nos exemples d’applications, qui illustrent la configuration complète, notamment l’affichage des paywalls, les achats et d’autres fonctionnalités de base.

Définir le Customer User ID après la configuration

Si vous ne disposez pas d’un identifiant utilisateur lors de la configuration du SDK, vous pouvez le définir ultérieurement à tout moment avec la méthode .identify(). Les cas d’utilisation les plus courants sont après l’inscription ou la connexion, lorsque l’utilisateur passe du statut d’utilisateur anonyme à celui d’utilisateur authentifié.

Paramètres de la requête :

  • Customer User ID (obligatoire) : un identifiant utilisateur de type chaîne de caractères.

Resoumission des données utilisateur importantes

Dans certains cas, par exemple lorsqu’un utilisateur se reconnecte à son compte, les serveurs d’Adapty disposent déjà d’informations sur cet utilisateur. Dans ces scénarios, le SDK Adapty basculera automatiquement pour travailler avec le nouvel utilisateur. Si vous avez transmis des données à l’utilisateur anonyme, telles que des attributs personnalisés ou des attributions provenant de réseaux tiers, vous devez resoumettre ces données pour l’utilisateur identifié.

Il est également important de noter que vous devez redemander tous les paywalls et produits après avoir identifié l’utilisateur, car les données du nouvel utilisateur peuvent être différentes.

Déconnexion et reconnexion

Vous pouvez déconnecter l’utilisateur à tout moment en appelant la méthode .logout() :

Vous pouvez ensuite reconnecter l’utilisateur avec la méthode .identify().

Détecter les utilisateurs sur plusieurs appareils

Lors de l’activation du SDK, il lit automatiquement les droits existants de l’utilisateur depuis StoreKit (iOS) ou Google Play Billing (Android) et les synchronise avec le backend Adapty. Un abonnement actif apparaît sur le profil Adapty sans que l’application n’appelle restorePurchases.

Ce qui ne se produit pas automatiquement, c’est la reconnaissance qu’un profil sur un nouvel appareil appartient au même utilisateur que le profil sur l’appareil d’origine. Adapty fait correspondre les profils par Customer User ID, donc la continuité d’identité dépend de ce que vous utilisez comme CUID.

Ce qu’Adapty peut détecter entre les appareils

Votre configurationCe qu’Adapty détecteCe que vous devez faire
Customer User ID = device_id (sans connexion à l’application)Le nouvel appareil reçoit un CUID différent et donc un profil différent. L’abonnement se synchronise avec le nouveau profil via un événement Access level updated, mais subscription_started ne se déclenche pas — le nouveau profil est traité comme un héritier de l’achat d’origine. Les analyses basées sur subscription_started sous-compteront les utilisateurs de retour.Utilisez un identifiant de compte stable comme Customer User ID pour qu’un utilisateur de retour corresponde au profil existant sur tous les appareils.
Customer User ID = identifiant de compte stable (connexion sur chaque appareil)Le SDK synchronise automatiquement l’abonnement lors de l’appel activate(), et identify() fait correspondre le profil existant par CUID.Aucune configuration supplémentaire n’est nécessaire — l’identité et l’abonnement se résolvent automatiquement.
Héritier du partage familial AppleLe membre de la famille reçoit l’abonnement uniquement via un événement Access level updatedsubscription_started ne se déclenche pas.Écoutez Access level updated. Consultez Apple Family Sharing pour la matrice complète des événements.
Même compte Apple/Google, utilisateurs in-app différentsLe premier profil à enregistrer l’achat devient le parent. Les profils suivants voient l’abonnement via une chaîne d’héritiers, avec un seul événement Access level updated.Exigez une connexion, puis choisissez un mode de partage adapté à votre modèle.

Restaurer les achats sur un nouvel appareil

Proposez un bouton « Restaurer les achats » initié par l’utilisateur sur votre paywall. Les directives App Review d’Apple (règle 3.1.1) l’exigent, et il sert de solution de secours quand la synchronisation automatique rate un cas limite. Ce bouton doit appeler restorePurchases dans votre SDK.

Un appel programmatique à restorePurchases au premier lancement n’est pas nécessaire pour une utilisation normale — le SDK effectue déjà l’équivalent lors de l’appel activate(). Réservez les appels programmatiques pour forcer une vérification fraîche du reçu, par exemple lors du débogage d’un accès manquant après la fin de activate().