Skip to main content
Solved

Share subscription between multiple devices with the same Apple ID


Forum|alt.badge.img+3
  • New Member
  • 2 replies

Hi,

I’m using revenue cat in a flutter app to manage subscriptions. Users are not logged in, I’m only using anonymous App User IDs. It works like a charm.

However, a user has subscribed on his ipad and cannot use the entitlement on his iphone. He has an error when he tries to subscribe to the same entitlement.

If I add the restore purchases method, will that solve this issue ?

Or do I need to log in users ?

Thank you for your help

Best answer by Miguel Carranza

A restore button is not strictly required, what Apple requires is a restore mechanism: 

 

Any credits or in-game currencies purchased via in-app purchase may not expire, and you should make sure you have a restore mechanism for any restorable in-app purchases.

 

Therefore, if your app has its own account system, you don’t need a restore button (even though it is recommended for user experience). If you are only using anonymous accounts, then you need to have it.

View original
Did this post help you find an answer to your question?

9 replies

Forum|alt.badge.img+4
  • Dedicated Member
  • 18 replies
  • June 24, 2022

It’s actually an App Store requirement that you have a Restore Purchases button, so obviously App Review missed it. So yes, add a Restore button to your app.


Miguel Carranza
RevenueCat Staff
Forum|alt.badge.img+6

A restore button is not strictly required, what Apple requires is a restore mechanism: 

 

Any credits or in-game currencies purchased via in-app purchase may not expire, and you should make sure you have a restore mechanism for any restorable in-app purchases.

 

Therefore, if your app has its own account system, you don’t need a restore button (even though it is recommended for user experience). If you are only using anonymous accounts, then you need to have it.


Forum|alt.badge.img+3
  • Author
  • New Member
  • 2 replies
  • June 25, 2022

Thank you

I confirm that the restoring purchases method works with anonymous accounts on 2 ios devices which are sharing the same ios account. I hope it is clear.


Forum|alt.badge.img+2
Paul wrote:

Thank you

I confirm that the restoring purchases method works with anonymous accounts on 2 ios devices which are sharing the same ios account. I hope it is clear.

Hey Paul, so how did you solve this? In my app I’ve implemented the restore purchases button which calls the following function:

    public func restorePurchases() {
        var activated = 0
        Purchases.shared.restorePurchases { (customerInfo, error) in
            if let entitlements = customerInfo?.entitlements.all {
                activated = self.processCustomerInfo(entitlements: entitlements)

                if (entitlements.isEmpty) {
                    self.showingRestoreFailedAlert.toggle()
                }
            }

            // user has something activated - show thank you dialog
            if (activated > 0) {
                self.showingRestoredAlert.toggle()

            // there was some error - show nothing to restore dialog
            } else if let error = error {
                print(error.localizedDescription)
                self.showingRestoreFailedAlert.toggle()

            // user has no active subscripions - show nothing to restore dialog
            } else if (activated == 0) {
                self.showingRestoreFailedAlert.toggle()
            }
        }
    }

Yet users are complaining on the same issue - bought my app from iPhone and are unable to restore purchases on iPad using the same account. All of my users are anonymous, I don’t have any kind of account management in my app. If they try to tap on a button that should initiate the purchase, it doesn’t seem to do anything either. I’m using the RevenueCat (4.3.0) library via Pods and on sandbox I never had this issue. 

 

Thanks.


Forum|alt.badge.img+2

Also worth noting I wasn’t able to reproduce this behavior with my own devices, but they might be tainted with all the testing I’ve done in the past...


Forum|alt.badge.img+3
  • Author
  • New Member
  • 2 replies
  • June 29, 2022

Hi,

I can't guarantee that your code is correct as I’m using flutter.

However have you defined your restore behavior as transfer purchases ?


Forum|alt.badge.img+2

Hi Paul, thanks for getting back to me. I have set “transfer purchases” yes. Also this behaviour is not consistent among users. Most of them can restore purchases just fine. I’ve only migrated to RevenueCat last month, so I thought maybe I’m missing something in configuration.


Forum|alt.badge.img+4
  • New Member
  • 1 reply
  • June 21, 2023

I’m also receiving reports where some users are unable to restore on different Apple devices using the same Apple ID. I cannot seem to reproduce it and it seems fine for some people.


Forum|alt.badge.img+6
  • Helper
  • 15 replies
  • June 22, 2023

Same here, had multiple instances of this over the last few weeks. Same Apple ID, restore purchases function called but cannot sync across devices.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings