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

标签 ios in-app-purchase

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

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

最佳答案

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

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

关于ios - 在哪里使用非续订订阅检查过期订阅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16750983/

相关文章:

ios - CoreLocation 不适用于 iOS 8 上的 Adhoc Distribution

ios - 上面的 SwiftUI NavigationBarTitle 副标题,就像在 Apple Music 中一样?

ios - 如何从 Xcode Storyboard中抽象出值?

ios - 直接在设备之间发送Apple Push Notification

ios - MFMailComposeViewController navigationBar 颜色不完全匹配

ios - 我可以获得取消自动更新订阅的收据吗?

ios - 应用内购买重定向到另一个 View Controller

ios - 是否可以通过在实时应用程序中验证收据来获取 21007 状态码?

iphone - 从 iPhone 应用程序中删除自动续订订阅

ios - 没有开发者帐户的 iOS 应用程序中的 IAP