2012-03-31 89 views
3

嗨我试图让我的游戏中的应用程序内商店购买虚拟货币,这是消费品。但是我有点不确定我的方法是否正确。所以我认为在这里寻求帮助可能会很好。消耗品应用内购买

按下购买按钮后,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情况每次都不会弹出一条消息,提示“您已经购买了该产品但尚未下载”。

这种方法是否正确?如果不是,你们可以给我一些提示吗?

非常感谢。

回答

2

我不认为这是一个代码问题。

您确定您已经在iTunes Connect中创建了“消费品”中的应用内购买吗?

如果您选择了“Non-Consumable”,只能购买一件商品。

+1

是的,我已将所有应用内购买设置为消耗品。现在它休息后突然生效。奇怪的!我想你是对的。谢谢!:) – rickylai 2012-03-31 19:40:32

+1

沙箱的工作方式神秘! – 2013-12-20 03:07:03

相关问题