繁体   English   中英

iOS - 自动续订订阅到期

[英]iOS - Auto Renewable Subscriptions Expiry

问题 1:

我已阅读有关订阅的 Apple 文档,但我仍然不确定是否可以从收据中获取自动续订订阅的到期日期,而无需联系 iOS 9 的 Apple 服务器? 这有意义吗?

问题2

目前我正在做的是让自动续订订阅到期:

  • 使用 [[NSBundle mainBundle] appStoreReceiptURL] 并继续将收据转换为 base 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 )。

这是可以接受的方法还是我需要自己的服务器? 如果我需要我自己的服务器,有人可以指导我如何设置它的正确方向吗?

注意:每当使用 OpenSSL 使用本地验证进行购买时,我都会对非消耗性和消耗性应用内购买执行收据验证。 所以应该没问题。

提前致谢。

以下是在您的应用程序中实现自动更新服务的步骤。

  1. 每当您的应用在应用购买中完成时。 您应该将收据数据(以 Base 64 编码)发送到您的服务器,它将与特定的用户配置文件一起存储在其中(这只是示例)

2)您需要在您的服务器上创建 cron 作业。此 cron 作业将每天运行一次,用于验证每个收据。

3)在此验证过程中,您只需致电您在问题中提到的苹果服务。

  1. 在每次通话中,您都会收到苹果的回复,其中苹果将提供自动续订的所有详细信息。 如果任何用户更新了他的服务,那么您将在响应中找到另一个对象。 其中到期日被延长。

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM