民间,
我正在尝试验证自动续订订阅是否实际在沙箱环境中续订。首先,沙盒中的自动续订订阅似乎仅在5分钟内有效。说得通。我希望如果我等了五分钟,再打一次电话
https://sandbox.itunes.apple.com/verifyReceipt
根据我的收据数据,我应该看到续订的订阅时间再过了五分钟。
不幸的是情况并非如此。我看到的只是对latest_expired_receipt_info和状态21006的回复,这意味着“此收据有效但订阅已过期”,根据the Apple docs。
有人能告诉我他们是否能够端到端地测试自动续订订阅,包括此更新组件?或者我是否必须启动此应用程序并交叉我的手指,prod将如宣传的那样工作?
或者,在将数据重新发布到verifyReceipt URL之前,是否需要运行某种客户端魔术/ API调用?
有一些discussion on this topic here,但我不清楚我是否可以/应该期望能够通过发布到verifyReceipt URL或者我必须做某事完全在服务器端重新验证订阅在客户端也是如此。
谢谢!
答案 0 :(得分:43)
从Apple的开发者论坛复制,对于那些不愿意转到论坛的人......
想出来(但不是感谢Apple文档):
1个月订阅每5分钟自动续订一次。到现在为止还挺好。他们 自动续订5次然后停止,所以25分钟后你就会得到 21006错误。但即使重新购买相同的订阅 它不会在同一测试帐户上再次自动续订,因为它有 已经自动续订了5次。所以,如果你想测试更新和你 你需要一段时间一直搞乱这些订阅 创建一个新的itunes connect测试用户。老实说,这非常烦人 如果我们可以重置整个过程会更容易 购买测试用户帐户的历史记录。同时放入所有应用程序 Xcode文档中的测试信息会更好 反对将其传播到Xcode docs / iTunes Connect doc / people上 搞清楚自己的东西
希望这有帮助。
答案 1 :(得分:6)
Apple dev论坛中的此对话可能会为发现此帖的其他人提供一些问题:https://devforums.apple.com/thread/105350?tstart=0
答案 2 :(得分:3)
@Lata Sadhwani,App开发者
对于测试自动续订订阅,到期时间为5分钟 在沙盒中(至少对于每月订阅,不确定是否这样 对于不同的时期是不同的)。所以在测试自动续订时 在沙盒中订阅,它应该每隔5分钟自动续订一次 知道他们工作正常。
但有一个问题。这些订阅仅自动续订5次 (即购买发生6次)。之后,您将收到错误消息 验证收据时。所以,如果你想在那之后进行测试,那么你 将需要使用另一个IAP测试帐户进行测试(是的,这是一个痛苦 测试,特别是如果你已经这样做了很长时间!)
要检查订阅是否已被取消或有效,您的 收据验证码需要解析Apple的回复 服务器,他们说你应该验证每张收据。如果 订阅已过期或已被取消,相应的错误 代码将被返回(非零状态)。如果它被更新了 用户,Apple服务器返回最新的收据。