Usually, we can use a receipt to “restore” and alias two anonymous users together. However, consumable purchases only show up in the receipt file for a limited time and therefore won’t be able to be aliased after a delete and reinstall.
One option might be to use the keychain and something like Firebase to persist the auth info in the app group, but this isn’t without its tradeoffs. The best option is some kind of login system.
Thanks so much, Jacob! Firebase is a no for us, so Login System it is!
I know it’s a couple of years later but I’ve been kicking around an idea, as I work on my own coin-based system that’s going to have to pass Apple’s restore rules.
I think you can have a transaction log stored in a “document” that’s backed up and so can be restored on another device.
Apple’s guideline says
you should make sure you have a restore mechanism for any restorable in-app purchases.
I spoke to one of the advisors at Apple in the WWDC23 lab on App Store Review about my ideas and his feedback was positive - sounds OK to him and there’s no obligation to share purchases on one device to another provided am clear to the user about the model.
ie: unlike subscriptions - consumables can be device-specific, just have to be conveyed to a replacement device