gpt4 book ai didi

iphone - 获取购买商品列表,inApp Purchase iPhone

转载 作者:行者123 更新时间:2023-11-28 20:21:02 26 4
gpt4 key购买 nike

我正在为我的 iOS 应用程序实现应用内购买。 Apple 因未恢复购买的产品而拒绝了我的二进制文件。在我的应用程序中,一旦用户点击产品图标,如果项目被锁定,他/她将定向到 inApp 购买流程,否则产品将被打开。没有可见的购买按钮。现在苹果说要提供恢复按钮?谁能告诉我如何处理这个?我试过了

- (void) checkPurchasedItems
{
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}// Call This Function

//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
alreadyPurchasedItems = [[NSMutableArray alloc] init];

NSLog(@"received restored transactions: %i", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions)
{
NSString *ID = transaction.payment.productIdentifier;
[alreadyPurchasedItems addObject:ID];
}

}

在应用程序启动时,paymentQueueRestoreCompletedTransactionsFinished 方法从未被调用,因此我可以获得已购买商品的列表,然后直接通知用户是否已购买。

最佳答案

如何设置[SKPaymentQueue defaultQueue]的委托(delegate)?我猜你已经做了像这样的 smt:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

之后 [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 应该会触发以下方法。所以案例 SKPaymentTransactionStateRestored 是你实现它的地方:

-(void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction * transaction in transactions) {
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
...
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
...
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
...
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
default:
break;
}
};
}

你可以看看这个教程,在它的最后对恢复进行了更详细的解释。 http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial

关于iphone - 获取购买商品列表,inApp Purchase iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com