我有一个提供Auto Renewal Subscriptions
的应用。这是当前的工作方式,当用户订阅时,它将Bool
中的UserDefaults
保存为true
,之后我可以发出收据请求以查看订阅是否已过期。我的问题或我不完全了解的是发出请求的频率,每次用户启动应用程序时检查真实性的逻辑似乎很多,还是我需要将到期日期保存在{{1}中},然后仅在到期日期后检查几天,看看用户是否续签了?通过这种方式,我们可以限制检索苹果收据的要求。
有人可以共享使用自动续订订阅检查应用程序中的真实性时使用的逻辑吗?
答案 0 :(得分:2)
“正确”的方法是管理服务器端的所有内容(如果用户处于脱机状态,则在设备上进行一些缓存)。刷新设备上的收据是不安全,缓慢的操作,并且可能会使用户烦恼的“使用iTunes登录”提示不断弹出:)
这也使您无法获得对订户基础的完整分析,因为您只能在应用程序中处于活动状态时获取数据点。
您要做的是购买后将收据文件存储在数据库中,并在那里对其进行刷新以使订阅状态保持最新。然后,您的应用会询问您的数据库是否已订阅用户(并在UserDefaults中缓存该值)。
这是一篇不错的博客文章,概述了设置的外观:iOS Subscriptions are Hard