jjzjj

finishTransaction

全部标签

iphone - 在 App Purchase SKPaymentQueue finishTransaction 中不起作用

我正在iOSsdk中的应用程序购买项目中工作。我已经准备了应用程序购买类,用于从应用程序商店购买应用程序,并启用项目的内部内容。但是,我的问题是SKPaymentQueue没有完成我的类。这里的代码我的应用内购买类(class):-(void)purchase{[[SKPaymentQueuedefaultQueue]removeTransactionObserver:self];SKPayment*payment=[SKPaymentpaymentWithProductIdentifier:@"com.test"];[[SKPaymentQueuedefaultQueue]addTr

ios - SKPaymentQueue : What happens if I never call finishTransaction:?

我的应用程序将允许用户通过应用程序内购买升级到专业版功能。我正在用我自己的服务器验证收据数据,如果确认从我的服务器返回,我调用finishTransaction:如果验证失败(可能不是因为盗版企图)并且我没有调用finishTransaction:会发生什么?它会无限期地留在队列中吗? 最佳答案 如果FinishTransaction没有被调用,我总是发现在某些时候我会出现奇怪的行为。最好的选择是在StandardUserDefaults等中设置一个设置,指示“我买了这个但失败了”,然后调用FinishTransaction。然后,

objective-c - SKPaymentQueue finishTransaction : within network completion block?

这个问题让我头疼了一段时间。我的应用采用自动续订订阅模式。我有一个SKPaymentQueuetransactionObserver,当通过Apple成功完成购买时会收到通知,此时我将Apple收据发送到我的服务器以在我这边进行验证。验证后,我会向我的应用程序发送成功调用,该应用程序会向用户提供内容,然后调用finishTransaction:交易(accordingtothedocs是正确的操作过程)。问题是,我担心要等这么长时间才能调用finishTransaction:在Apple期望它被调用之后(3-4秒)禁止事务实际“完成”。如果我成功地在我的应用程序中进行了购买(并且已调用

iphone - 恢复应用内购买交易

这个想法是无论风雨无阻,潮湿还是晴天,用户都必须知道他已经为所有的一切付出了代价。来自苹果:StoreKitprovidesbuilt-infunctionalitytorestoretransactionsfornon-consumableproducts,auto-renewablesubscriptionsandfreesubscriptions对于这些交易,AppleStoreKit有很好的内置工具。我想专注于其他类型(尤其是消耗品)。唯一的交易信息是我们在成功购买后通过StoreKit收到的标识符和收据数据。我们的应用程序使用服务器端模型向其交付产品。但是仍然有很多购买数据丢

iOS "This in-app purchase has already been bought"弹窗

我的iOS应用程序出现问题:当我触摸“购买”按钮购买IAP产品时,弹出窗口显示此消息:ThisIn-Apppurchasehasalreadybeenbought.Itwillberestoredforfree.我以前从来没有过这个弹窗,而且我的产品只是非续订,所以我想知道为什么在购买订阅时会出现这个信息。当我触摸确定关闭此弹出窗口时,购买并未执行。这是我的代码:fortransactionintransactions{switchtransaction.transactionState{caseSKPaymentTransactionState.Purchased,SKPayment

ios - 当服务器端收据验证失败时,我应该调用 finishTransaction 吗?

我使用服务器端收据验证。当客户的-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions被调用,transactionState为SKPaymentTransactionStatePurchased,客户端将收据发送到我们的服务器,我们的服务器会验证它。服务端回执校验成功后,客户端显然调用了finishTransaction,没有问题。当服务器端收据验证失败时,因为apple临时返回非json,或者客户端发送了无效的收据,或者什么的,服务器将该信息返回给客户端。接下来,我们的

ios - 当服务器端收据验证失败时,我应该调用 finishTransaction 吗?

我使用服务器端收据验证。当客户的-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions被调用,transactionState为SKPaymentTransactionStatePurchased,客户端将收据发送到我们的服务器,我们的服务器会验证它。服务端回执校验成功后,客户端显然调用了finishTransaction,没有问题。当服务器端收据验证失败时,因为apple临时返回非json,或者客户端发送了无效的收据,或者什么的,服务器将该信息返回给客户端。接下来,我们的

iOS In App Purchase 请求登录两次

我正在将应用内购买添加到我的一个应用中。根据需要,我添加了一个按钮让用户重新下载购买的项目。这是IBAction方法:-(IBAction)touchedButtonUnlockAgain:(id)sender{[self.activityIndicatorstartAnimating];[UIApplicationsharedApplication].networkActivityIndicatorVisible=YES;[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];}当我点击这个按钮时,我会看到标准的登录框。我

iOS In App Purchase 请求登录两次

我正在将应用内购买添加到我的一个应用中。根据需要,我添加了一个按钮让用户重新下载购买的项目。这是IBAction方法:-(IBAction)touchedButtonUnlockAgain:(id)sender{[self.activityIndicatorstartAnimating];[UIApplicationsharedApplication].networkActivityIndicatorVisible=YES;[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];}当我点击这个按钮时,我会看到标准的登录框。我

ios - 我的 iOS 应用程序总是要求我登录 iTunes Store

我正在开发具有IAP功能的ios应用程序。它运作良好。但是我今天遇到了一个奇怪的问题。由于某些原因,它总是向我显示一条消息,要求我“登录iTunesStore”。这是屏幕截图:每次启动应用程序或从后台恢复时,它总是显示此信息。在我删除并重新安装应用程序后,它甚至仍然显示此信息。当我在源代码中设置断点时。没有任何交易、支付委托(delegate)回调。谁能告诉我原因是什么?会不会是AppleIAPSandbox的问题?(我在其他设备上运行相同的应用程序没有任何问题。我可以在Sandbox中购买、恢复。) 最佳答案 我也遇到过几次这个问
12