如何测试可再生订阅(App Store)

时间:2011-04-06 08:47:52

标签: iphone app-store in-app-purchase storekit

我正在我的应用程序中实现自动续订订阅,我想知道是否有一种方法来模拟订阅期用完并创建新事务。

该应用程序连接到在线服务,该服务始终跟踪用户以及他们是否具有“高级访问权限”。据我所知,有两种方法可以检测事务的发生时间。

  1. 应用程序已启动并且updatedTransactions:在我的PaymentObserver中作为SKPaymentTransactionStateRestored调用。然后,我从应用程序将此信息发送到更新订阅的服务器。

  2. 我会定期检查App Store API,并将“最新收据”与我数据库中的收据进行比较。如果有新的,则已进行交易并延长订阅。

  3. 无论哪种方式,我都需要模拟订阅期用完并且App Store进行新的交易。我该怎么做?

4 个答案:

答案 0 :(得分:4)

沙盒环境会自动模拟订阅续订。 1年订阅将每1小时续订一次。 1个月的订阅似乎每5-6分钟续订一次。

每个订阅似乎续订5次。此时,订阅被取消。每次续订都会触发发送到客户端应用程序的已恢复事务。

这完全取决于我的经验。我无法从Apple找到任何官方文档。

答案 1 :(得分:2)

你确定需要模拟吗?我想你会发现在沙盒中,订阅长度非常短,所以你要做的就是喝杯咖啡或什么东西,它们会过期然后你可以测试会发生什么。

时间长短取决于订阅的长度,但我认为7天订阅在沙箱中仅在几分钟内到期。

答案 2 :(得分:0)

实际上续订似乎不适用于Sandbox。看起来你总是进入购买过程。自动更新应该被“遮蔽”,因为AppStore会自动重新进行自动续订,直到用户明确“取消”它为止。在Sandbox中,每5分钟您必须再次购买。

最后,“你已经购买了应用程序内部”中存在一个错误,因为它应该发送一个正确的事务,但它只是发送一个错误代码。

答案 3 :(得分:0)

实际上,我觉得沙盒中的续订非常难以预料。有时候它的工作方式如上所述,有时它的工作方式也有所不同,有时它根本不起作用(说作为开发人员在商店中实际使用应用程序购买与自动可再生订阅,显然在生产中成功)。 就在此刻,我在沙盒中每月订阅一次,原始购买日期从27小时开始,到期日期为3小时。我真的很想知道如果这样的回答是荒谬的,你应该如何测试它。