Skip to main content
Answer

Share subscription between multiple devices with the same Apple ID

  • June 5, 2022
  • 9 replies
  • 805 views

Forum|alt.badge.img+3

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.

This post has been closed for comments

9 replies

Forum|alt.badge.img+4
  • Dedicated Member
  • 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
  • RevenueCat Staff
  • Answer
  • June 24, 2022

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
  • 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
  • New Member
  • June 27, 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.

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
  • New Member
  • June 27, 2022

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
  • 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
  • New Member
  • June 29, 2022

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
  • 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+7
  • Helper
  • 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.