2012-03-31 149 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