草庐IT

SKPaymentQueue

全部标签

c++ - SKPaymentQueue addPayment 并不总是触发 native 确认对话框

好的,我正在将IAP实现到iOs应用程序中,只有商店中的某些产品实际上触发了native购买处理对话框。背景:该应用程序使用cocos2dx和javascript绑定(bind)以实现跨平台能力。我们正在深入研究iOsnative部门以实现商店处理。这些调用都正常工作:[[SKPaymentQueuedefaultQueue]addTransactionObserver:self];[SKPaymentQueuecanMakePayments];[[SKProductsRequestalloc]initWithProductIdentifiers:productIdentifiers]

ios - 如何在恢复期间检测登录取消事件?

当我调用[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions]对话框时,要求为记住的用户输入密码。我想检测用户何时从该对话框中点击取消。我该怎么做? 最佳答案 我之前的回答是错误的,你可以试试下面的方法,虽然我没有测试过,但可能对你有帮助。-(void)paymentQueue:(SKPaymentQueue*)queuerestoreCompletedTransactionsFailedWithError:(NSError*)error{if(error.code==S

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

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

ios - 使恢复购买选项 iOS

我在恢复购买时遇到的问题。我使用本教程将IAP集成到我的应用中tutorial但是在我将二进制文件上传到应用商店后,Apple拒绝了我的应用,因为它没有使用恢复选项。现在我尝试把这个方法集成到app中-(void)restorePurchases{[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];}但我认为仍然需要做一些事情,因为它仍然不起作用。感谢您的帮助! 最佳答案 你需要实现这些委托(delegate)方法来完成恢复-(void)restoreTransact

iphone - 多任务处理和 SKPaymentQueue 我得到一个 "stuck"SKPaymentTransaction,交易状态为 SKPaymentTransactionStatePurchasing

我的问题基本上是如何重现我在应用商店的其他应用中看到的关于应用内购买的行为:在用户按下“购买”按钮后,该按钮会立即隐藏并显示一个微调器(实质上是消除购买操作的跳动)。用户在StoreKit对话框(在应用内或应用外)按下取消键会导致微调器消失。我试图根据对SKPaymentQueue中交易状态的观察来显示和隐藏微调器。这张海报描述了我的问题:InAppPurchaseusercancelstxwhileappinbackground:txstatestaysonpurchasing无论测试用户是否先登录,我都会看到与上述帖子相同的行为。交易基本上永远“卡在”购买状态的队列中(意味着我的微

ios - 应用内购买消耗品自动恢复

我正在执行我的第一次应用内购买,一个奇怪的行为是正在恢复消耗品而不是创建新交易。我已经关注教程https://www.raywenderlich.com/122144/in-app-purchase-tutorial我发现这是一种优雅的方法。这是我的StoreKit助手:importStoreKitpublictypealiasProductIdentifier=StringpublictypealiasProductsRequestCompletionHandler=(_success:Bool,_products:[SKProduct]?)->()openclassIAPHelpe

ios - 我应该在应用内购买期间对失败的交易调用 finishTransation 吗?

我正在为maiOS应用编写应用内购买功能。我在卖一些简单的消耗品(没有下载)。我的代码基于本教程/主题Howdoyouaddanin-apppurchasetoaniOSapplication?但是我注意到它与苹果官方文档冲突。在这段代码中,当交易因任何原因失败时,这段代码[[SKPaymentQueuedefaultQueue]finishTransaction:transaction];叫做。但是在苹果页面上https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKPaymentQueue_

ios - 付款队列 :(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions is not called while restoreCompletedTransactions

您好,我需要在Inapp-Purchase中实现恢复功能,为此制作了一个调用方法的“恢复”按钮-(void)restorePurchasedProductsWithProductId:(NSString*)prodID{_productIdsArray=[[NSMutableArrayalloc]init];productID=[prodIDretain];[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];}它给了我一个弹出窗口,让我输入appleid的密码。然后什么都没有发生。我在某处读到它叫-(void)payme

ios - paymentQueueRestoreCompletedTransactionsFinished : vs updatedTransactions:

我正在恢复已完成的交易(重复)[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];在-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions我得到了应用恢复的历史交易列表,但是方法:-(void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue*)queue甚至没有被调用一次,所以我想知道我应该使用哪个?我做了一些研究,发现upda

ios - Swift 应用内购买

希望这些信息足以帮助我解决问题。我正在通过提供给我的模板化源代码设置应用内购买。在我的MKStoreManager.m文件中,我为我的应用内购买设置了featureID(例如:staticNSString*featureAId=@"com.logannat.myfirstgameTier1";)当点击游戏中的实际按钮时,一个方法-(void)buyFeature:(SKProduct*)product{if([SKPaymentQueuecanMakePayments]){SKPayment*payment=[SKPaymentpaymentWithProduct:product];[