当有自动续订订阅时,考虑以下模型情况:
- 用户购买了 1 个月的订阅,比如说在 1 月份
- 取消续订
- 然后等到 3 月(>1 个月)并再次购买相同的订阅
AppStore 是否会(在收据验证时)为新购买返回一个新的 original_transaction_id
?或者换句话说,original_transaction_id
是否可以用于对收据进行分组以确定用户进行有效订阅的时间间隔?
因为在沙盒中,当出现这样的模拟情况时,它总是从给定订阅的第一次购买返回 original_transaction_id
,无论是否存在用户没有事件订阅的时间间隔。当订阅有多次购买且间隔时间过期时,沙盒收据验证返回第一次购买的original_purchase_date
,最后一次购买的expires_date
。
我的问题是,要在实时环境中测试它,我必须等待一个多月让订阅到期才能测试确切的行为。
最佳答案
多年来,我一直通过订阅维护一个生产应用。
据我所知,original_transaction_id
在您提到的那种情况下不会改变。
此外,original_transaction_id
属于订阅组,而不是每个product_id。
因此在以下情况下它保持不变。
- 用户开始订阅,停止自动续订和过期,然后重新开始订阅。
- 用户开始订阅并取消订阅,但重新开始。
- 用户开始订阅并升级或降级到同一组中的订阅。
但这不是保证的结果,因此您最好做好准备,以防 original_transaction_id 发生变化。
关于ios 应用内订阅 - original_transaction_id 何时更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000758/