Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to support multiple devices with non-renewing In-App Purchase?

I'm building an iOS app that will include an IAP with a non-renewing subscription. Apple provides this nugget in their overview of IAP:

You are required to deliver non-renewing subscriptions to all devices owned by the user. Non-renewing subscriptions are not automatically synchronized to all devices by Store Kit; you must implement this infrastructure yourself. For example, most subscriptions are provided by an external server; your server would need to implement a mechanism to identify users and associate subscription purchases with the user who purchased them.

I would like to follow this rule: I want my users to be able to take advantage of the subscription they purchase on one device on other devices as well. So how can I identify the same user across their iPhone and iPad? I understand that you can't use the Apple ID, and you can't rely on a registration method.

I just now found this question; the answer given there doesn't appear to be workable. There must be something more elegant that others have done.

like image 412
Aaron Vegh Avatar asked Feb 29 '12 02:02

Aaron Vegh


People also ask

Do in-app purchases work on multiple devices?

Note: You cannot share in-app purchases with other users. If you use family sharing across devices, buying the pro version of an app is the best way to ensure everyone will be able to use extra features.

Can I share in-app purchases between devices?

You can share content that you purchase from Apple including music, movies, tv shows, apps, and books. You can also share your Apple subscriptions including Apple One.

How do I fix this device does not support Google Play in-app billing?

Go to Android Settings > Applications (also known as Apps & notifications on some devices) > Google Play Store > Storage > tap on Clear storage and Clear cache. Repeat the same steps for Google Services framework. Try buying again. If you still have an error, try step 2.

Do in-app purchases transfer between devices iPhone?

You buy these items one time, and you can transfer them to other devices that are associated with your Apple ID. If you lose a non-consumable purchase, you might be able to download it again for free. Restore your in-app purchase.


1 Answers

I have a suggestion given to me from Gavin McKenzie, which sounds like the best bet I've heard:

Upon purchase of the subscription, make a "short code" available to the user. The code would be stored on the server as well, tied to that user's account. When they hit Restore on another device, request the short code from the original device and account, thereby tying those devices together.

Gavin further suggested the use of this in a "pairing" method similar to Bluetooth: when restoring, initiate the pairing on Device A, which generates the short code and pushes it to the server. Device B can then use that code. Five minutes later, or when the pairing screen is dismissed, the code is deleted.

I'm not sure how this would stand up if you want to restore to the same device, say, after deleting the phone and restoring. But this feels like a good start.

like image 137
Aaron Vegh Avatar answered Oct 01 '22 18:10

Aaron Vegh