Is restore functionality needed if subscription is managed across multiple apps?

We have a multi-platform app that we are trying to setup in-app purchases for. We are using an auto-renewing subscription.The setup is very similar to what is outlined in this article https://developer.apple.com/documentation/storekit/in-app_purchase/offering_a_subscription_across_multiple_apps


The sign up flow goes like this.

  1. User purchases the subscription via in-app purchase.
  2. We verify the receipt.
  3. User's account is created with our custom services.
  4. User sets up credentials.
  5. At this point, the user has credentials and is logged into the app.


We count on server-to-server notifications from Apple to manage the user's account status. So if the user gets a new phone or deletes the app, all they need to do is install the app and log in. Their credentials are valid until they cancel their account or their subscription expires. What is the point of restoring anything?

Replies

Regardless of the efficacy of your own process, the point is that Apple makes this a requirement across the board, one the dev is not free to Burger King.


Rather than risk rejection during review, best to effort compliance.


If there are things you'd like changed/added going forward, feel free to file enhancement requests via the bug reporter, link below, adding your report # to your thread for reference, thanks and good luck.


Note that further questions may be better suited for theIn-App Purchase forum.

>all they need to do is install the app and log in.......What is the point of restoring anything?


I believe all you need do is indicate in a note to App Review that you handle 'restore' through log in to your server. There is no need to do anything else.


But......this means that the user is required to log into your server to 'use' the IAP. Therefore you will need to explain why you are also satisfying:


5.1.1 (v) Account Sign-In: If your app doesn’t include significant account-based features, let people use it without a log-in. Apps may not require users to enter personal information to function, except when directly relevant to the core functionality of the app.....

and....


>We count on server-to-server notifications from Apple to manage the user's account status.


Quite risky. What if the Apple server decides not to send a notification or you miss it? You need some way of checking the current status of the subscription if the user believes they are subscribed and your system has not gotten a notification. Restore does exactly that.