Delivery of auto-renewing subscriptions for iOS

喜夏-厌秋 提交于 2019-12-09 07:16:26

问题


I am finding that the renewal of an expired auto-renewing subscription is never being delivered while the application is active and running, but rather when the application is woken up from background or on launch.

In other words if you are using the app, and the subscription expires, it won't be delivered to the app (assuming it is auto-renewing and valid etc) while the user continues to use the app.

This behaviour does not seem to be documented by Apple, can anyone else with experience of this confirm or otherwise?

Obviously one can detect that the sub has expired and then offer the user the chance to check their subscription status and restoreCompletedTransactions which will pull in the new subscription - but I'm just wondering if we're doing something wrong, or if this behaviour is normal.

Thanks.


回答1:


Yes. That's what I experienced as well. Before I continue, please see the following posts on why you might want to stay away from auto-renewing subscriptions:

  • Marco Arment's piece on The limited world of auto-renewable subscriptions, and
  • The Comments on this SO Question: Auto-renewing subscription – Differences to non-renewing subscription

When your app becomes active, that does seem to trigger the App Store to send any new auto-renewing subscription receipts to your app. But you shouldn't rely on that. And, you don't have to restoreCompletedTransactions to get the latest receipts.

You can see another one of my answers for more detail on this subject. What you should be doing (based on Apple's documentation and some experimentation) is storing receipts on your server. Then when you want to check if a person's subscription has been auto-renewed, follow Apples procedure for verifying one of those receipts with iTunes. Apple will respond with info about that receipt as well as the latest receipt in that subscription. If it's different than the one you sent, then you know an auto-renewal has occured.



来源:https://stackoverflow.com/questions/7399567/delivery-of-auto-renewing-subscriptions-for-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!