3

我的一所大学实施了每月自动更新的 iOS 应用内购买。我正在接管代码库并想测试它是否正常工作。我知道采购工作很顺利,但我担心的是自动续订。

我已经设置了一个测试用户并阅读了在沙盒模式下说的 Apple 文档,在沙盒中一个月是 5 分钟。

但是 5 分钟后我没有收到 Apple 的任何回复?我是不是该?

在 AppDelegate 我有

 inAppPurchase = [TFInAppPurchase new];
[[SKPaymentQueue defaultQueue] addTransactionObserver:inAppPurchase];
[inAppPurchase updateAvailableProductsCache];

我期待 5 分钟后,它会触发通知或什么?

4

3 回答 3

15

iTunes 开发指南中,列出了沙盒模式下自动续订订阅的持续时间:

沙盒测试您的应用内购买

您需要先在沙盒环境中测试您的应用内购买,然后再将其提交给 Apple 审核。在尝试使用沙盒环境之前,您必须先从您的测试设备设置中注销您的 iTunes Store 帐户。如果您错误地使用您的 test-user-account 凭据登录到您的测试设备上的生产环境(而不是登录到您的测试环境),您的帐户凭据将失效并且不能再次用作测试帐户。有关如何在测试帐户使用过程中避免错误的更多详细信息,请参阅“使用测试用户帐户”。</p>

在沙盒环境中测试自动更新的应用内购买订阅时,将压缩持续时间以允许更简化的测试。此外,沙盒订阅最多只能自动续订 6 次。订阅自动续订 6 次后,将不再在沙盒中续订。压缩的持续时间如下:

   Actual duration      Sandbox duration
   1 week               3 minutes 
   1 month              5 minutes
   2 months             10 minutes 
   3 months             15 minutes 
   6 months             30 minutes 
   1 year               1 hour
于 2013-02-05T15:37:45.737 回答
4

没有通知。您自己跟踪它(持续时间)。您会收到带有您保存的原始交易的收据。使用它来验证(可能在每次启动时)用户的订阅仍然有效。

于 2013-02-06T09:37:02.917 回答
0

苹果不会生成任何通知。您必须使用 nsuserdefaults 或钥匙串将配方保存在服务器或设备上。您必须自己跟踪持续时间。通过计算将相关产品标识符与每个应用内购买收据的产品标识符进行比较。如果有匹配的收据,则验证成功。否则,验证失败。

验证成功后,您的应用程序将启用购买的功能——例如,通过下载内容或添加功能。当验证失败时,您的应用程序根本不会启用该功能。

于 2014-08-18T06:34:40.763 回答