首页 文章

如何在iOS App Store Sandbox中测试自动续订订阅的“续订”组件?

提问于
浏览
24

伙计们,

我正在尝试验证自动续订订阅是否实际在沙箱环境中续订 . 首先,沙盒中的自动续订订阅似乎仅在5分钟内有效 . 说得通 . 我希望如果我等了五分钟,那就打个电话

https://sandbox.itunes.apple.com/verifyReceipt

根据我的收据数据,我应该看到续订的订阅时间再过了五分钟 .

不幸的是,事实并非如此 . 我看到的只是对latest_expired_receipt_info的响应,状态为21006,根据the Apple docs,这意味着"This receipt is valid but the subscription has expired" .

谁能告诉我他们是否能够端到端地测试自动续订订阅,包括这个更新组件?或者我是否必须启动此应用程序并交叉我的手指,prod将如宣传的那样工作?

或者,在将数据重新发布到verifyReceipt URL之前,我是否需要运行某种客户端魔术/ API调用?

有一些discussion on this topic here,但我不清楚我是否可以/应该期望能够通过发布到verifyReceipt URL完全在服务器端重新验证订阅,或者我是否也必须在客户端做一些事情 .

谢谢!

3 回答

  • 3

    从Apple的开发者论坛复制,对于那些不愿意转到论坛的人...

    想出来(但不是感谢Apple文档):

    1个月订阅每5分钟自动续订一次 . 到现在为止还挺好 . 他们自动续订5次然后停止,所以25分钟后你会收到21006错误 . 但是,即使重新购买相同的订阅,它也不会在同一测试帐户上再次自动续订,因为它已经自动续订了5次 . 因此,如果您想测试续订并且您一直在搞乱这些订阅,您需要创建一个新的itunes connect测试用户 . 诚实地说这非常烦人,如果我们可以重置测试用户帐户的整个购买历史,那将会容易得多 . 将所有应用内测试信息放在Xcode文档中也会好得多,而不是将其传播到Xcode docs / iTunes Connect doc /人们自己解决问题

    希望这可以帮助 .

  • 6

    Apple开发论坛中的这个对话可能会为发现这篇文章的其他人提供一些关于此问题的信息:https://devforums.apple.com/thread/105350?tstart=0

  • 42

    @Lata Sadhwani, App developer

    对于测试自动续订订阅,沙箱中的到期时间为5分钟(至少对于每月订阅,不确定不同时段是否不同) . 因此,当在沙盒中测试自动续订订阅时,它应该每5分钟自动续订一次,并且您知道它们正常工作 . 但是有一个问题 . 这些订阅仅自动续订5次(即购买发生6次) . 之后,验证收据时会出错 . 因此,如果您想在此之后进行测试,则需要使用另一个IAP测试帐户进行测试(是的,这是一次疼痛测试,特别是如果您已经这样做了很长时间!)检查订阅是否已取消或是有效,您的收据验证码需要解析Apple服务器的响应,他们说您应该验证每张收据 . 如果订阅已过期或已取消,将返回相应的错误代码(非零状态) . 如果用户已续订,Apple服务器将返回最新的收据 .

相关问题