Discussions

Ask a Question
Back to All

Preventing multiple application users from sharing single App Store subscription

I have a question regarding the interplay of Apple ID purchases and my application users.

Let's say I have a user, Alice, who creates an application account and purchases a subscription to my app from her iPhone. Great. Now her friend, Bob, is borrowing her phone, so Alice logs out of her application account, and Bob logs into his own non-premium application account on Alice's phone. Bob decides he likes the app so much that he wants to buy the premium subscription, so Alice attempts to make the purchase for him while he's logged into his application user on Alice's phone, with Alice's Apple ID. In the ideal case, my application would throw an error, saying that the current Apple ID (Alice's) already has a subscription associated with a different application account (Alice's application account). Is it possible to do this (to either prevent or void the purchase attempt) with the Adapty Swift SDK without having to store some mapping on my own server? This feels like a check that you could do with StoreKit before completing a transaction, but since Adapty completes the transaction for you, I'm not sure how to perform this check. I want to avoid having multiple application accounts associated with a single Apple ID or somehow messing up the existing application user <--> apple ID mapping (for example, if Alice's subscription were modified by the subscription purchase on Bob's application user's behalf).