您好,我正在尝试在我的游戏中创建一个应用内商店,供玩家购买虚拟货币,这是消耗品。但我有点不确定我的方法是否正确。所以我认为在这里寻求帮助可能会很好。
按下“购买”按钮后,将调用 buyProductIdentifier
- (void)buyProductIdentifier:(NSString *)productIdentifier {
NSLog(@"Buying %@...", productIdentifier);
SKPayment *payment = [SKPayment paymentWithProductIdentifier: productIdentifier];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
然后是 paymentQueue
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
CCLOG(@"PAYMENT QUEUE CALLED!");
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
// case SKPaymentTransactionStateRestored:
// [self restoreTransaction:transaction];
default:
break;
}
}
}
我尝试注释掉 SKPaymentTransactionStateRestored 案例,以便让玩家每次都完成购买,而不是弹出一条消息说“您已经购买了此内容,但尚未下载”。
这种方法正确吗?如果没有,你们能给我一些提示吗?
非常感谢。
最佳答案
我不认为这是代码问题。
您确定已在 iTunes Connect 中将应用内购买创建为“消费品”吗?
如果您选择“非消耗品”,则只能购买该元素一次。
关于iphone - 消耗品应用内购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958128/