消费类应用内购买

时间:2012-03-31 17:36:50

标签: iphone ios cocos2d-iphone in-app-purchase

您好我正试图在我的游戏中建立一个应用内商店,供玩家购买虚拟货币,这是消耗品。但我有点不确定我的方法是否正确。所以我认为在这里寻求帮助可能会很好。

按下购买按钮后,将调用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 个答案:

答案 0 :(得分:2)

我认为这不是代码问题。

您确定已将iTunes Connect中的应用内购买创建为“耗材”吗?

如果您选择了“非消耗品”,则只能购买一次。

相关问题