【问题标题】:Sandbox: Is possible to simulate a failed or interrupted In App Purchase?沙盒:是否可以模拟失败或中断的应用内购买?
【发布时间】:2012-10-11 09:27:14
【问题描述】:

我最近在我的应用中实施了应用内购买。好在 Apple 拥有 documented the whole process 非常好。

使用这些文档,我终于能够通过沙盒测试应用内购买,这是一个非常方便的功能。我已经成功测试了我的应用程序,以便当我点击 buyButton 时它会对 StoreKit 返回的任何内容做出反应。

现在这是我的问题。从文档中,它说沙盒模拟了没有财务内容的交易过程。所以我想买多少就买多少(顺便说一句,我买的是消耗品,而且只买消耗品)。此外,沙盒将始终模拟成功的交易,无论如何。那么,是否可以让沙盒模拟失败事务,更好的是,模拟中断事务?

我想这样做是为了在这些事件发生时捕获可能的错误(尽管我在某处读过 StoreKit 已经处理过)并将它们显示在屏幕上(至少),只是为了告诉用户什么是发生在交易过程中。

提前致谢。

【问题讨论】:

  • 您是如何最终完成这项工作的——尤其是中断的交易?

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


【解决方案1】:

模拟许多常见网络事务问题的一种简单方法是从过程中各个点使用的 wifi 接入点背面拔下网线。您可以尝试拔掉 wifi 的 WAN 电缆,然后使用备用或有线访问将您的 IAP 从 iTunes Connect 中的可用性中删除,然后重新启用 wifi 访问。

【讨论】:

  • 我正在使用共享的 WI-Fi(办公室),我无法随意关闭它,因为它是共享的。
  • 您可以获得另一个便宜的 wifi 接入点,或者从您的 Mac 共享连接。
  • 如果您在具有 Wifi 和 4G 功能的设备上进行测试,您怎么能在中途关闭所有互联网访问,尤其是当购买发生得如此之快时?还有没有办法测试中断,例如完全离开应用程序以验证信用卡?
【解决方案2】:

模拟各种联网情况的最佳方法是使用网络链接调节器实用程序。这是Apple documentation regarding networked operation testing中提到的事件。

这样您就不会依赖于共享访问点,或者您的同事会干扰您的测试。您还可以轻松模拟更多的情况,而不仅仅是连接/未连接。

Here is a step-by-step on how to install it and use它在 OSX(用于在模拟器中测试)和 iOS 上。

【讨论】:

    【解决方案3】:

    iOS 14+。

    您可以通过在 App Store Connect 中为特定测试人员 Sandbox Apple ID 启用中断购买,在运行 iOS 14 或更高版本的设备上测试中断购买场景。如果选择此选项,则该沙盒 Apple ID 的设备上购买尝试将在沙盒环境中中断并继续中断,直到取消选择该选项。这使您可以测试应用对中断的处理,以确保无缝的客户体验。

    来自文档:Testing interrupted purchases

    【讨论】:

      猜你喜欢
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 2012-02-09
      • 2012-07-16
      • 2012-06-05
      • 2012-08-04
      相关资源
      最近更新 更多