非续订订阅已购买警报轨道
Posted
技术标签:
【中文标题】非续订订阅已购买警报轨道【英文标题】:Non-Renewing Subscription Already purchased alert track 【发布时间】:2014-10-16 09:49:45 【问题描述】:我正在我的应用程序中实施非续订订阅 IAP,我正在执行服务器实施以使订阅到期。当我点击已购买的订阅时,我卡住了,它显示一个对话框,“此应用内购买已被购买。它将免费恢复。” 带有确定按钮。我有两个问题:
-
有时会显示上述对话框,但有时会显示“点击购买以续订或延长它。” 对话框。谁能告诉我这背后的原因是什么?或者这只是一个沙盒问题。 (This screenshot from another thread.)
当我收到“此应用内购买已被购买。它将免费恢复。”警报时,如何停止活动指示器?是否有一个委托方法来跟踪这个?
我找不到,但 iOS 8 有什么新功能吗?
谢谢
【问题讨论】:
我在 ios 8 沙盒中使用 Consumable 产品类型时遇到了同样的问题。买过一次,不能再买了……虽然明明说是消耗品。很奇怪。 我在 iOS 8 沙盒中遇到了同样的问题 在非消耗性 IAP 中也面临同样的问题。但是该应用程序已经提交并获得了 iTunes 人员的批准。 嗨 - 你能解决 #2 的问题吗?我面临着完全相同的问题。如果产品已经购买并恢复,我没有收到回调......这令人沮丧。请告诉我 【参考方案1】:对于不可续订的订阅,正确的对话框是“点击购买以续订或延长它。”。这样做的原因是,非消耗品一旦拥有,就永久拥有;因此是“更新或扩展”语言。
您收到此对话框是因为您在应用端完成交易之前尝试再次购买相同的产品。 App Store 已批准交易并向您发送交易 ID,但您尚未确认已交付承诺的内容/访问权限。因此,事务处于approved
状态。在您完成之前,交易将一直与应用绑定。
见"Finishing the Transaction" in Apple's (confusing, convoluted) documentation。
【讨论】:
对于问题2,我知道问题但是如何跟踪这个对话框,因为应用程序可能仍然会显示一个activityIndicator来显示状态仍在处理中。 嘿,你有幸解决了这个问题吗,你能删除activityIndicator吗?【参考方案2】:我在消耗品 IAP 中遇到了这个问题,我调用了函数[[SKPaymentQueue defaultQueue] finishTransaction:transaction]
。然后我发现调用之前有一个函数发生了异常,于是我交换了两个函数的位置,现在问题解决了。
【讨论】:
你能解释一下在哪里捕获异常吗? 嗨 - 我面临同样的问题。你在哪里调用那个方法?请帮忙以上是关于非续订订阅已购买警报轨道的主要内容,如果未能解决你的问题,请参考以下文章