17

我正在实施非续约订阅IAP在我的应用程序中,我正在使服务器实现过期订阅。当我点击我已经购买的订阅时,我被卡住了,它显示一个对话框,“这个应用程序内购买已经被购买,它将被免费恢复。”带OK按钮的。我这里有两个问题:非续约订阅已购买的警报跟踪

  1. 有时它显示了上面的对话框,但有时它显示“点击购买续签或延长它。”对话框。谁能告诉我这背后的原因是什么?或者它只是一个沙盒问题。 (This screenshot from another thread.
  2. 当我得到“此应用程序内购买已被购买,它将被免费恢复。”提醒,我可以如何停止活动指标?是否有一个委托方法来跟踪这个?

我找不到,但有什么新的进来iOS 8

enter image description here

谢谢

+0

我在使用Consumable产品类型的iOS 8沙箱中遇到同样的问题。买了一次,不能再次购买......即使它明确表示它是一种消耗品。奇怪的。 – 2014-10-29 21:53:41

+0

我在iOS 8沙箱中遇到了同样的问题 – 2014-10-30 07:55:16

+0

也面临非消耗型IAP中的相同问题。但该应用程序已经提交并由iTunes人批准。问题2的 – 2014-12-01 08:21:24

回答

12
  1. 对于不可再生的订阅,正确的对话框“点击购买续签或延长它。”。其原因是一旦拥有非消耗性产品,它就永久拥有;因此是“更新或扩展”的语言。

  2. 由于您在完成应用程序端的交易之前尝试再次购买相同的产品,您将获得此对话框。 App Store已批准交易并向您发送了交易ID,但您尚未确认您已交付承诺的内容/访问权限。因此,交易处于approved状态。交易依然与应用绑定,直到完成为止。

请参阅"Finishing the Transaction" in Apple's (confusing, convoluted) documentation

+0

,我知道这个问题,但如何跟踪这个对话框,因为应用程序可能仍然显示一个activityIndi​​cator来显示状态仍在处理中。 – zedzhao 2016-06-30 05:51:22

+0

嘿,你有没有运气来解决这个问题,你是否能够删除activityIndi​​cator? – 2016-09-29 08:49:36

0

我在易损IAP中遇到了这个问题,并且我调用了函数[[SKPaymentQueue defaultQueue] finishTransaction:transaction]。然后我发现在调用函数之前发生了一个异常,然后我交换了两个函数的位置,现在问题就解决了。

+0

谢谢你的文法改正,老兄。 – Eanshy 2016-04-14 07:04:13

+0

你能解释哪里可以发现异常吗? – zedzhao 2016-06-30 02:32:21