jjzjj

SKPaymentTransaction

全部标签

iOS - 如何延迟显示消息 "purchase was successful"以等待验证收据完成

我已经搜索过但找不到任何方法来延迟显示消息:“您的购买成功”等待验证收据完成。我尝试引用行SKPaymentQueue.defaultQueue().finishTransaction(transactionas!SKPaymentTransaction)但消息仍然触发。funcpaymentQueue(queue:SKPaymentQueue,updatedTransactionstransactions:[SKPaymentTransaction]){print("ReceivedPaymentTransactionResponsefromApple");fortransactio

ios - 我们可以在属于同一开发者帐户的应用之间共享应用内购买吗?

我们可以在属于同一开发者帐户的应用之间共享应用内购买吗?我在AppStore上有一个应用程序,其中包含应用程序内购买列表。我想提交一个具有相同代码库和一些主题和皮肤更改的新文件。其余保持不变。在这种情况下,应用的支付页面上的应用内购买实际上应该保持不变。但是在AppStore上有一个新的应用程序,它不允许我拥有它。我是否应该为新应用重新创建完整的应用内购买列表?此外,不同应用程序的产品标识符不能相同。因此,在创建新的应用内购买时,我将不得不创建具有新标识符的产品。这也标志着后端发生了巨大变化。我们能否以编程方式将一种产品的应用内购买拉到另一种产品(属于同一开发者帐户)?对此有何看法?

ios - 使用 SKPayment 未完成交易

我还没有在我的应用程序中完成交易,所以当我尝试使用这个ID购买应用程序内时,我收到了这条消息:thisinapppurchasehasalreadybeenboughtitwillberestoredforfree但是当我按下确定按钮时,委托(delegate)方法从未被调用。-(void)paymentQueue:(SKPaymentQueue*)queueupdatedTransactions:(NSArray*)transactions{}-(void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue

ios - 如何分配 skpayment 应用程序用户名

我们可以分配skpaymentapplicationusername吗?应用内购买完成后,我在SKPayment中得到一个空的applicationUsername。如何为SKPaymentapplicationUsername赋值? 最佳答案 您不能为SKPayment的属性赋值;当您创建SKMutablePayment实例以提交购买请求时,您的应用程序可以提供一个代表应用程序用户ID的不透明值。这使iTunes商店能够检测到不正常的事件。尽管名称如此,applicationUsername属性并不意味着保存实际用户名。建议的方法

ios - 修改 NSObjects 的内部属性(特别是 SKPaymentTransaction)

我正在尝试对我们的收据验证服务器进行单元测试,虽然我可以更改内部API来避免这个问题,但这意味着我们没有完全测试客户端API,所以我想避免这种情况。作为我们API的一部分,我们通过SKPaymentTransaction,然后将Transaction.transactionReceipt传递到我们的服务器。为了正确测试,我想创建一个SKPaymentTransaction实例,其中包含我选择的transactionReceipt(有效值和无效值)。不幸的是,SKPaymentTransaction将transactionReceipt属性定义为只读,由于this,我无法声明将其定义为读

ios - 是否有快速替代弃用的 `SKPaymentTransaction.transactionReceipt` ?

是否有快速替代弃用的SKPaymentTransaction.transactionReceipt?完整代码://savesarecordofthetransactionbystoringthereceipttodisk-(void)recordTransaction:(SKPaymentTransaction*)transaction{if([transaction.payment.productIdentifierisEqualToString:[selfgetProductId:gFullVersion]]){//savethetransactionreceipttodisk[[

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

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

swift - 强制 SKPaymentQueue 在后台线程上运行

在我的AppDelegate中,我运行这个命令:SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);当我运行“购买恢复”并立即终止应用程序时,在重新启动它后,用户界面在处理所有购买所需的时间段内卡住(我测试了其中的许多,每次我验证苹果收据-用户界面卡住大约需要一分钟!!)我认为可能是事务队列启动阻塞了..所以我将代码更改为:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0),{SKPaymentQu

ios - 更新后不调用 SKPaymentQueue updatedTransactions 方法

我已经在我的应用中实现了自动续订订阅。一切正常。唯一的问题是方法publicfuncpaymentQueue(_queue:SKPaymentQueue,updatedTransactionstransactions:[SKPaymentTransaction])在自动续订发生后没有被调用,因为它应该根据文档通知我订阅是更新。它仅在我调用SKPaymentQueue.default().restoreCompletedTransactions()时调用我知道它只会自动续订5次,而且我必须创建新的沙箱用户并且我尝试了几次。在我的AppDelegate中,我调用了SKPaymentQueu

ios - 如何判断购买了哪个IAP?

我正在快速编写一些代码来处理IAP。您如何确定在paymentQueue函数中购买了哪个IAP?这是我目前的代码:funcpaymentQueue(queue:SKPaymentQueue!,updatedTransactionstransactions:[AnyObject]!){println("ReceivedPaymentTransactionResponsefromApple")fortransaction:AnyObjectintransactions{iflettrans:SKPaymentTransaction=transactionas?SKPaymentTransa