is_Trial_period 在 Apple 的收据沙箱中保持“开启”状态

ger*_*bil 2 testing subscriptions in-app-purchase ios receipt-validation

我在调试 Apple 的应用内购买收据时遇到问题。尽管购买已经过期,但“is_Trial_period”字段似乎仍然有效。据我了解,苹果定义了较短的调试订阅周期,如下所示:

测试应用内购买产品

这些时间也适用于试用期吗?

Jac*_*ing 5

这是因为苹果在试用期内发布了单独的交易。

以下是 Apple 收据的示例摘录:

"latest_receipt_info": [
    {
        "quantity": "1",
        "product_id": "onemonth_freetrial",
        "transaction_id": "1000000328795138",
        "original_transaction_id": "1000000328795138",
        "purchase_date": "2017-08-29 23:13:52 Etc/GMT",
        "purchase_date_ms": "1504048432000",
        "purchase_date_pst": "2017-08-29 16:13:52 America/Los_Angeles",
        "original_purchase_date": "2017-08-29 23:13:53 Etc/GMT",
        "original_purchase_date_ms": "1504048433000",
        "original_purchase_date_pst": "2017-08-29 16:13:53 America/Los_Angeles",
        "expires_date": "2017-08-29 23:16:52 Etc/GMT",
        "expires_date_ms": "1504048612000",
        "expires_date_pst": "2017-08-29 16:16:52 America/Los_Angeles",
        "web_order_line_item_id": "1000000036088032",
        "is_trial_period": "true"
    },
    {
        "quantity": "1",
        "product_id": "onemonth_freetrial",
        "transaction_id": "1000000328796241",
        "original_transaction_id": "1000000328795138",
        "purchase_date": "2017-08-29 23:16:52 Etc/GMT",
        "purchase_date_ms": "1504048612000",
        "purchase_date_pst": "2017-08-29 16:16:52 America/Los_Angeles",
        "original_purchase_date": "2017-08-29 23:13:53 Etc/GMT",
        "original_purchase_date_ms": "1504048433000",
        "original_purchase_date_pst": "2017-08-29 16:13:53 America/Los_Angeles",
        "expires_date": "2017-08-29 23:21:52 Etc/GMT",
        "expires_date_ms": "1504048912000",
        "expires_date_pst": "2017-08-29 16:21:52 America/Los_Angeles",
        "web_order_line_item_id": "1000000036088033",
        "is_trial_period": "false"
    }
]
Run Code Online (Sandbox Code Playgroud)

latest_receipt_info字段将包含每个“续订”或“交易”的数组。苹果处理免费试用的方式是发出一笔交易,该交易始终是is_trial_period真实的,随后的非试用续订都是is_trial_period错误的。当您处理收据时,只需确保您正在查看最新的交易或purchase_date代表expiration_date最新续订的交易,以及您应该以此为基础的解锁内容。

至于沙盒中的时长,如果您的IAP产品有免费试用期,沙盒环境将发放1个试用期和5次续订,总共6次续订。

  • 我试图在沙盒环境中购买免费试用版的订阅,但是当我尝试购买时,弹出窗口不会告诉您有关免费试用期的任何信息,并且在收据中我只看到一笔交易。在订阅中设置免费试用后,我创建了一个新的沙盒用户 (2认同)