如何在评估iOS Auto-Renewable iAP时使用ASN本地收据中的字段?

时间:2018-01-06 06:03:43

标签: ios in-app-purchase storekit itunes-store mkstorekit

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

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

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

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

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

  3. 我们无法弄清楚的是,如果用户在试用期停止付款时关闭订阅,该应用程序如何知道此类事件?

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

    original_purchase_date或purchase_date是否表示“审判开始”或“用户已付款的日期”?

      

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

1 个答案:

答案 0 :(得分:1)

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

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

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

此外,我不确定使用SKReceiptRefreshRequest时in_apps的最新动态。 Apple表示在使用订阅时使用服务器端验证和/ verifyReceipt端点。

无耻插件,但如果您尝试以较少的工作量实现订阅,则可能需要尝试我的服务RevenueCat。我们为您处理所有收据解析和跟踪并正确执行。您可以使用my referral code注册。