首页 文章

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

提问于
浏览
7

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

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

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

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

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

4 回答

  • 2

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

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

  • 0

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

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

  • 0

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

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

    这都是基于我的经验 . 我无法从Apple找到任何官方文档 .

  • 4

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

相关问题