区分不同的应用程序购买iphone paymentQueue

时间:2011-04-05 13:39:55

标签: iphone objective-c cocoa-touch ios ios4

我刚刚设法将应用内购买整合到我的ios应用程序中,但我知道遇到了一个我无法真正问谷歌的问题。

我有一个应用程序有2个产品可以购买,但一旦付款完成,我需要区分购买的2个产品,然后再采用另一种方法。

请参阅下面的paymentQueue方法:

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
    {
        for(SKPaymentTransaction *transaction in transactions)
        {
            switch(transaction.transactionState) {
                case SKPaymentTransactionStatePurchasing:
    break;
                case SKPaymentTransactionStatePurchased:
                    //do crediting here
                    NSLog(@"transactionid = %@",transaction);
                    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                    break;

                case SKPaymentTransactionStateFailed:
                    if(transaction.error.code != SKErrorPaymentCancelled)
                    {
                        NSLog(@"Error Encountered");
                    }

                    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];

                    break;
            }
        }

    }

SKPaymentStatePurchased被点击时,它需要找到购买的初始产品,然后触发该产品的方法以记入在远程服务器上设置的帐户。

我希望有人可以提供帮助!

提前致谢:)

1 个答案:

答案 0 :(得分:0)

您可以从交易本身获得

transaction.payment.productIdentifier

这将为您提供用户购买的产品标识符