在调试苹果的应用程序购买收据时,我遇到了一个问题。似乎字段"is_trial_period“仍然是真实的,尽管购买已经过期。据我理解,Apple定义了调试订阅的短时间,如下所示:
这些时间也适用于追踪期吗?
发布于 2017-11-15 01:38:57
这是因为苹果在试用期内单独发布了一笔交易。
以下是苹果收据的摘录:
"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"
}
]latest_receipt_info字段将包含每个“更新”或“事务”的数组。苹果处理免费试用的方式是发布一项交易,该交易将始终使is_trial_period成为真,而随后的非试用更新则使is_trial_period成为假的。当您处理收据时,只需确保您正在查看purchase_date或expiration_date的最新事务,这应该代表最新的更新,以及您应该将解锁内容从其中删除的事务。
关于沙箱的长度,如果您的IAP产品有一个免费试用,沙箱环境将发布一个试用期,5个续订,为6个续订总数。
https://stackoverflow.com/questions/47295784
复制相似问题