1

我们的 iOS 应用程序支持具有不同免费试用期的年度订阅。我们的目标是评估离线用户设备上本地可用的收据。

**我们计划这样做:**

  1. 检查 cancel_date 是否存在 - 非活动订阅
  2. 如果 cancel_date 不存在,请检查 purchase_date 是否存在:

    如果是,请检查 expires_date 是否存在并且处于活跃期 - 活跃订阅

    如果没有,请检查 expires_date 是否存在并且处于活跃期 - 可能是试用期

我们想不通的是,如果用户在试用期关闭订阅停止付款,应用程序如何知道此类事件?

expires_date 是表示“试用期 + 1 年”还是仅表示“1 年”?

original_purchase_date 或 purchase_date 是否表示“试用开始”或“用户付款日期”?

注意:我们还计划使用 SKReceiptRefreshRequest 定期刷新本地收据。

4

1 回答 1

1

确保您正在查看所有in_app条目的子内容,ASN1 类型 17。每次更新都会有一个。

取消日期仅在订阅被 Apple 客户服务取消时才设置,您应该主要取决于到期日期。

试用被视为 in_apps 数组中的单独 in_app 字段。因此,只要您正在寻找最新的expires_date字段,您就会计算出正确的到期日期。

另外,我不确定使用 s.in_apps 时的最新情况如何SKReceiptRefreshRequest。Apple 表示在使用订阅时使用服务器端验证和 /verifyReceipt 端点。

无耻的插件,但如果你想以更少的努力实现订阅,你可能想试试我的服务,RevenueCat。我们为您处理所有收据解析和跟踪并正确执行。你可以用我的推荐码注册。

于 2018-01-09T00:35:15.203 回答