【发布时间】:2013-04-18 13:28:56
【问题描述】:
我的应用程序中有很多 1 次购买 IAP。用户可以很好地购买它们。
我的问题是我正在与 Flurry 集成以跟踪实际购买而不是仅恢复购买,但我的 SKPaymentTransaction 的 transactionState 总是以 SKPaymentTransactionStatePurchased 而不是 SKPaymentTransactionStateRestored 返回。
显然SKPaymentTransactionStateRestored 只在- (void)restoreCompletedTransactions 时被调用,但是我什么时候调用这个方法呢?
我的想法是购买应该是这样的:1)用户选择产品,2)询问用户是否愿意以 X 金额购买产品。 3)服务器检查用户之前是否购买过,是否通过设置SKPaymentTransactionStateRestored恢复。否则,处理事务并设置SKPaymentTransactionStatePurchased。显然这是错误的,我想在两者之间打电话给- (void)restoreCompletedTransactions???
谢谢,
会
【问题讨论】:
-
你应该看看stackoverflow.com/questions/1757467/…。就我而言,我将它与“恢复以前的交易”按钮一起使用
-
感谢 Micazeve,但从分析的角度来看,听起来用户可以跳过按“恢复”按钮并通过尝试重新购买来恢复,因此继续跳过我分析用户是否购买的地方.也许当他们选择产品时,而不是立即开始交易,我可以做一个很可能是漫长而复杂的调用 restoreCompletedTransactions 的过程,查看所选产品是否在该列表中,如果不在,则 - 然后 - 让用户购买它.好痛……
-
你说得对,这个按钮不是必需的,因为尝试重新购买已经购买的物品会警告用户他已经购买了该物品。这种情况下的主要问题是用户在接受再次付款后被警告:“恢复按钮”因此在心理方面很有用,因为用户不必再次进行付款程序。 -- 你可以尝试实现你的方法(应该可行),但正如你所说,这样的痛苦;)
标签: ios objective-c storekit