问题1:
我已经阅读了有关订阅的Apple文档,但我仍然不确定是否可以从收据中获取自动续订订阅的到期日期而不联系iOS 9中的Apple服务器?这有道理吗?
问题2
目前我正在做的是让自动续订订阅到期的是:
>使用[[NSBundle mainBundle] appStoreReceiptURL]并继续将收据转换为基本64字符串
>创建一个字典,其中包含此收据数据和共享密钥
>将此字典转换为JSON字符串
>将此JSON字符串发送到https://sandbox.itunes.apple.com/verifyReceipt
>返回从应用商店收到的JSONized收据字典作为回复
>从latest_receipt_info字典中的expires_date_ms获取到期日期
我不完全确定这是否正确,因为根据文档,它不可能在App Store和设备之间实现安全链接(我现在正在做).事实上,文档说明我需要自己的服务器,它将与我的App Store通信(https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1).
这是可接受的方法还是我需要自己的服务器?如果我需要自己的服务器,有人可以指导我如何设置它的正确方向吗?
N.B:无论何时使用OpenSSL进行本地验证,我都会对非消耗品和消费品应用内购买进行收据验证.所以这应该是好的.
提前致谢.
最佳答案 以下是在您的应用程序中实现Auto-Renewable服务的步骤.
1)每当您的应用程序在应用程序购买中完成您应该将收据数据(在Base 64编码中)发送到您将使用特定用户配置文件存储的服务器(这只是例如)
2)您需要在服务器上创建克隆作业.此克隆作业将在一天内运行一次,用于验证每个收据.
3)在此验证过程中,您只需要调用您在问题中提到的苹果服务.
4)在每次通话中,您将获得苹果的回复,其中苹果将提供自动续订的所有细节.如果任何用户更新了他的服务,那么您将在响应中找到另一个对象.延长到期日.
希望这会帮助你.