Question

Re-enable Legacy Restore Behaviour

  • 5 September 2021
  • 4 replies
  • 31 views

Badge

I recently started using RevenueCat SDK in an existing iOS app. I noticed that some users cannot restore purchases on a new device, and even after making a new purchase on the new device, the entitlement for Pro features was enabled only on one device at a time. That is completely wrong behaviour! As I figured it by now, it is causes by RevenueCat’s default setting, which I was not aware of, and which I cannot change myself. Where do I ask for a fix from RevenueCat?


4 replies

Userlevel 3
Badge +7

Hey @Oleh! 👋

The legacy restore behavior cannot be re-enabled as it has been deprecated in favor of the Restore and Block behavior detailed here.

To share subscription status across devices/platforms, you’ll need to implement a custom app user ID that is shared across devices/platforms. You’ll then need to call logIn to share the status across devices requiring a restore- this will allow the desired behavior, with having multiple devices share the same subscription.

Userlevel 4
Badge +8

If you don’t set your own App User ID, then multiple anonymous users would still be able to restore transactions across multiple devices with the new restore behavior.

If you’re setting your own App User ID, then like Cody mentioned that customer would need to log in on multiple devices to access the subscription on each.

Badge

Hi @cody and @ryan!

Thanks for replying!

I have somewhat custom case here. I’ve added RevenueCat to my iOS app simply because I liked the analytics and overview of the transactions in the other app I have.

This iOS app has no subscriptions, and only consumable and non-consumable in-app purchases. All users are anonymous, but I do have “device id” that I set to RevenueCat, and which is tracked in analytics services I use. That way it is easy for me to link them together. The device id is not sharable, and is just my own, local (to device) alternative to RevenueCat’s anonymous user id.

As I understand now, the issue is that I set my own id for users, and that id not shared across devices.

I see three possible solutions to this:

  1. I do not set any id for RevenueCat, and rely on anonymous id set by the SDK. In this case the convenience of using your service is much lower. Also, what happens to those who already had my custom id set? Because of that solution 2 is probably better.
  2. I remove RevenueCat SDK completely, as it creates issues with restoring purchases on multiple devices.
  3. RevenueCat fixes it by changing the restore behaviour to legacy. For me this is obviously the desired solution.

Let me know if you see any other alternative or advices.

Regards,
Oleh

Userlevel 4
Badge +8

Hey @Oleh,

I created a support ticket here to re-enable the legacy behavior, someone will follow-up with you via email.

Reply