2

我们在我们的 iOS 应用程序中使用非续订订阅,并且对删除过期订阅的时间和地点感到困惑。例如,我们显示两个订阅(7 天和 30 天)。然后用户购买其中一个订阅,我们将其保存在 NSUserDefaults 中,同时存储在服务器上的数据库中(创建日期、订阅类型、到期日期)。现在我们的困惑是当用户超过他们的 7 天(或 30 天)时,我们如何使订阅过期?

我们正在考虑在 didFinishLaunchingWithOptions 中执行此操作,但是如果用户保持登录状态并且从不终止他们的应用程序会发生什么,

4

2 回答 2

2

我会在applicationDidBecomeActive. 每次他们启动应用程序时都会调用它,即使它从未被终止。我猜你会很安全。如果有人愿意让您的应用程序不断打开以防止过期,那么他们非常专注于您的应用程序!此外,大多数人不会知道您是如何检查他们的订阅的,因此他们可能不会考虑将其保持打开状态。

您还应该考虑将他们的订阅存储在 NSUserDefaults 中。如果他们删除该应用程序并重新安装它怎么办?您是否检查数据库并将该值重新加载到默认值中?如果是少量数据,您可以将其存储在钥匙串中。删除应用程序时不会删除钥匙串值。

于 2013-05-25T16:47:02.353 回答
0

每次用户将您的应用程序置于前台时,您都可以进行检查。为此,请检查应用程序委托的-applicationWillEnterForeground方法。如果您想更进一步,您可以使用该方法设置一个计时器,该计时器将在订阅到期时触发。这将让您在订阅结束后立即过期,即使在用户使用应用程序时结束。

于 2013-05-25T16:46:52.300 回答