我的服务器在收到为期3个月的INTERACTIVE_RENEWAL通知后仅10分钟就从iOS应用程序商店收到了(不受支持的)6个月订阅的INITIAL_BUY通知。
我该怎么处理?
长篇故事:
一个月前,我发布了一个新版本的应用程序,引入了自动更新订阅。我制作了不同的订阅产品。
这家商店发布的应用程序的最终版本只提供、3个月和12个月订阅。6个月的订阅ID仍然存在于代码中,但是没有UI元素来购买此订阅(重复检查!)
我的服务器现在在10分钟内收到以下App Store Update Notification消息:
INITIAL_BUY of product com.my.app.subscripton.3months.2020年届满-01-28 02:00:00INTERACTIVE_RENEWAL of com.my.app.subscripton.6months.2020年届满-04-28 02:10:00我该如何处理这个问题?显然没有任何意义,在10分钟后续订3个月的订阅.
根据文档,INTERACTIVE_RENEWAL的意思是:
指示客户通过使用应用程序的界面或应用程序商店中的帐户设置,以交互方式更新订阅。立即提供服务。
由于应用程序UI没有提供购买6个月订阅的选项,这必须由account settings来完成。,但在帐户设置中哪里可以找到购买功能?
即使设置中存在这样的特性,如何能够在10分钟后的6个月内续订3个月的订阅?
编辑:通知中的信息是正确的。我重新验证了收据和商店答复了最新的收据信息,其中包括IAP项目(3个月和6个月的订阅)在10分钟内购买。
所以这些信息是正确的但显然没有任何意义..。
发布于 2019-10-28 14:31:27
在App中,订阅管理页面用户将能够看到他们订阅的订阅组的所有产品选项(参见图像)。
对于更节俭的iOS用户来说,在购买订阅后不久导航到这个页面,看看是否有一个价格较低的选项是不常见的。
至于处理这些事件,你到底想做什么?您真正需要确定的是是否订阅了product_id和expiration_date。如果可能的话,您可以在某个地方记录整个事件体(万一以后需要它),然后用事件中需要的任何值更新用户记录。这些可能是:
通过这种设置,实际的事件类型变得无关紧要,您只需用来自最新事件的值更新所需的字段。

发布于 2019-10-28 13:35:07
又是阿佛德。我们使用Apple通知只是为了触发额外的收据验证。在你的案子里该怎么处理?进行收据验证并检查订阅是否处于活动状态。
这些通知只告诉您用户的收据发生了更改。您必须手动检查已更改的内容,并在接收验证完成后更新用户订阅状态。
下面是关于通知的更多信息:https://blog.apphud.com/subscriptions-notifications/
https://stackoverflow.com/questions/58591815
复制相似问题