在哪里使用非续订订阅检查过期订阅?

时间:2013-05-25 15:19:29

标签: ios in-app-purchase

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

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

2 个答案:

答案 0 :(得分:2)

我会在applicationDidBecomeActive中这样做。每次启动应用程序时都会调用它,即使它从未被终止。我猜你会这么安全。如果有人愿意不断打开您的应用程序以防止过期,那么他们非常专注于您的应用程序!此外,大多数人不知道你如何检查他们的订阅,所以他们可能不会想到保持开放。

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

答案 1 :(得分:0)

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

相关问题