iOS 6 - 如何验证应用内可更新订阅?
Posted
技术标签:
【中文标题】iOS 6 - 如何验证应用内可更新订阅?【英文标题】:iOS 6 - How to validate in-app renewable subscriptions? 【发布时间】:2013-02-25 11:35:39 【问题描述】:我正在构建一个应用程序,该应用程序提供 30 天的应用程序高级服务订阅。 我熟悉应用内购买(消耗品),并为此做好了一切准备。但是,我还没有找到任何好的教程或说明验证自动续订订阅的正确程序。
谁能指出我正确的方向? 我想做的是这样的订阅设置:
用户购买应用内订阅并通过验证 订阅结束日期(购买后 30 天)与用户帐户信息一起添加到网络数据库中 如何检测订阅何时更新以便我可以更新网络数据库更新
所以我已经弄清楚了原始的购买和收据验证,所以一切都很好。然后通过从收据数据中获取 'expires_date' 的值来获取过期日期。
我现在需要完成的是在应用加载时检查所有已完成交易的最佳方法(包括任何自动续订的订阅),以便我可以解锁高级服务。使用“restoreCompletedTransactions”可以让我接收旧的收据数据,但它会强制用户输入密码,我想避免这种情况。有哪些替代方案?
【问题讨论】:
【参考方案1】:用户购买了产品,您保存了收据。跟踪时间戳,以便您知道订阅的有效期。在每次启动时,您都会验证收据。您将始终获得最新的收据,以便了解产品是否已更新。使用时间戳,您可以确保用户在取消订阅后无法访问。
【讨论】:
是的,这是基本概念。问题是,如何在不强制用户重新输入其 iTunes 帐户密码的情况下从应用商店获取收据?使用“restoreCompletedTransactions”来获取已完成的交易/收据会迫使用户重新输入密码(就像他们在买东西一样) 您存储收据(例如在 NSUserDefaults 中)。然后将其作为 JSON 传递给收据验证服务器。见developer.apple.com/library/ios/#documentation/…。这不会提示用户输入密码。以上是关于iOS 6 - 如何验证应用内可更新订阅?的主要内容,如果未能解决你的问题,请参考以下文章