0

このチュートリアルで IAP を使用して最初のアプリを作成しました

InAppPurchaseManager のシングルトンを作成し、さらに 3 つの購入、それらのメソッドを追加しましたが、すべてうまくいきました。問題は、私のアプリがギャラリーであり、ユーザーが 9 つのアイテムを無料で、その後 18 のアイテムが有料であることです。ViewControllerシステムが表示されているときに購入が正常に行われたかどうかを確認するにはどうすればよいUIAletrViewですか? または、このアラートを私のViewController?

私が使用しているギャラリーUICollectionViewの場合、購入が完了したらリロードする必要があります

4

1 に答える 1

0

このデリゲート メソッドを使用して、トランザクションのステータスを確認できます。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{

    for (SKPaymentTransaction *transaction in transactions)
    {
        NSLog(@"%i",[transaction transactionState]);
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
                // [self completeTransaction:transaction];
                break;
            case SKPaymentTransactionStateFailed:
                // [self failedTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored:
                // [self restoreTransaction:transaction];
            case SKPaymentTransactionStatePurchasing: {
                // if([self.delegate respondsToSelector:@selector(inProcessPurchasingTransaction)])
                // [self.delegate inProcessPurchasingTransaction];
                }
            default:
                break;
        }
    }
}

トランザクションが成功すると、次のデリゲート メソッドが起動します。

 - (void) completeTransaction: (SKPaymentTransaction *)transaction

そして失敗した場合:

- (void) failedTransaction:(SKPaymentTransaction *)transaction

また、テスト目的で、テスト ユーザー アカウントを作成する必要があります。アプリをプログラムした後、アプリをテストすることが必要になる場合があります。これらのアカウントを使用して、App Store にログインできます。購入は本物であるかのように処理されますが、金融取引は行われません。

于 2013-02-04T10:45:39.410 に答える