2012-03-31 16 views
3

こんにちは私は、プレイヤーが消耗品であるバーチャル通貨を購入するためのゲーム内アプリストアを作ろうとしています。しかし、私のアプローチが正しいかどうかは少し分かりません。だからここで助けを求めるのが良いかもしれないと思う。消費可能なアプリ内購入

購入ボタンを押した後、buyProductIdentifierは

- (void)buyProductIdentifier:(NSString *)productIdentifier { 

    NSLog(@"Buying %@...", productIdentifier); 

    SKPayment *payment = [SKPayment paymentWithProductIdentifier: productIdentifier]; 
    [[SKPaymentQueue defaultQueue] addPayment:payment]; 

} 

と呼ばれ、その後、私はプレイヤーが購入を完了させるためにSKPaymentTransactionStateRestoredケースをコメントアウトすることで試してみました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; 
     } 
    } 
} 

によるフォローアップ「あなたはすでにこれを購入しましたが、まだダウンロードされていません」というメッセージがポップアップ表示されるのではありません。

このアプローチは正しいですか?もしそうでなければ、あなたは私にいくつかのヒントを教えてもらえますか?

多くのありがとうございます。

答えて

2

私はコードの問題ではないと思います。

iTunes Connectで「アプリ内購入」を「消耗品」として作成してもよろしいですか?

「非消耗品」を選択した場合は、アイテムを1回のみ購入することができます。

+1

はいすべてのアプリ内購入を消耗品として設定しました。今は突然休憩を取った後に働きます。奇妙な!あなたが正しいと思います。ありがとう!:) – rickylai

+1

砂場は神秘的な仕方で動作します! –

関連する問題