嗨,我正试图在我的游戏中 Build 一个应用程序商店,供玩家购买虚拟货币,这是消耗品 . 但我有点不确定我的方法是否正确 . 所以我认为在这里寻求帮助可能会很好 .
按下Buy按钮后,将调用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案例来让玩家每次完成购买,而不是弹出一条消息,说“你已经购买了这个,但它还没有被下载” .
这种方法是否正确?如果没有,你们能给我一些提示吗?
非常感谢 .
1 回答
我认为这不是代码问题 .
您确定已将iTunes Connect中的应用程序内购买创建为“耗材”吗?
如果您选择了“非消耗品”,则只能购买一次 .