每当用户想要下载内容时,不是在购买后立即为我的非消耗品提供内容,而是按需提供。服务器也有收据验证例程,因此我需要将收据保存到以后显示给服务器以进行验证和内容下载。
我知道对于iOS 7.0我不需要存储收据,因为我的iAP购买收据位于应用收据本身,这不难解析并获取该信息。
但是对于iOS 6.1或更早版本,我可以在NSUserDefaults中保存来自事务的收据,所以稍后当我需要从自托管服务器下载某些内容时,我可以使用该收据来验证服务器上的特定下载(然后服务器会将它发送给苹果)?存储收据是合法,安全和通用的做法吗?
答案 0 :(得分:2)
我很确定您已经浏览了以下链接
除此之外,我相信保存交易数据没有问题。至于在NSUserDefaults中保存它,我可以想到一个问题:如果用户删除并重新安装应用程序,或购买新手机,该数据将不会存储在设备上。因此,在您的自托管服务器中以某种方式保存收据会更好。对于iOS7之前的设备,链接提到了这种技术:
“如果您需要支持早于iOS 7的iOS版本,但应用收据不可用,请改为恢复已完成的交易。”