我们的iOS应用程序支持具有不同免费试用期的年度订阅。我们的目标是在离线状态下评估用户设备本地可用的收据。
**我们计划这样做:**
如果cancellation_date不存在,请检查purchase_date是否存在:
如果是,请检查expires_date是否存在且处于活动期 - 活动订阅
如果没有,检查expires_date是否存在且是否处于活动期 - 可能是试用期
我们无法弄清楚的是,如果用户在试用期停止付款时关闭订阅,该应用程序如何知道此类事件?
expires_date表示“试用期+ 1年”还是仅“1年”?
original_purchase_date或purchase_date是否表示“审判开始”或“用户已付款的日期”?
注意:我们还计划定期刷新本地收据 SKReceiptRefreshRequest。
答案 0 :(得分:1)
确保您正在查看所有in_app
条目的子内容,ASN1类型17.每次续订都会有一个。
取消日期仅在Apple客户服务取消订阅时设置,您应该主要取决于到期日期。
试验在in_apps数组中被视为单独的in_app字段。因此,只要您正在寻找最新的expires_date
字段,您就会计算出正确的到期日期。
此外,我不确定使用SKReceiptRefreshRequest
时in_apps的最新动态。 Apple表示在使用订阅时使用服务器端验证和/ verifyReceipt端点。
无耻插件,但如果您尝试以较少的工作量实现订阅,则可能需要尝试我的服务RevenueCat。我们为您处理所有收据解析和跟踪并正确执行。您可以使用my referral code注册。