0

可能有很多与同一主题相关的问题,但我只是不明白恢复购买的含义以及苹果希望我在我的应用程序中实现什么恢复按钮。

请有人回答这个问题,我是新手,这是我的第一个应用程序。我有点迷路了。谢谢

恢复按钮意味着:当用户按下它时,它会恢复已经购买的项目,它会返回他购买的东西并拿回钱 或者 它只是意味着用户可以重新下载他已经购买的任何东西而无需付费两次?(如果他删除并重新安装了该应用程序)

如果是第二个,苹果不检查吗?并为“您已经购买此产品。点击确定以再次下载它”设置警报

我在我的代码中实现了一个恢复按钮,够吗?这就是苹果想要的吗?

////Restore button tapped
{
[[RageIAPHelper sharedInstance] restoreCompletedTransactions];
}


// Then this is called form the code Above
- (void)restoreCompletedTransactions {
NSLog(@"Restore Tapped in transaction process");
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}

//Then This
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
NSLog(@"%@",queue );
NSLog(@"Restored Transactions are once again in Queue for purchasing %@",[queue transactions]);

NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];
NSLog(@"received restored transactions: %i", queue.transactions.count);

for (SKPaymentTransaction *transaction in queue.transactions) {
    NSString *productID = transaction.payment.productIdentifier;
    [purchasedItemIDs addObject:productID];
    NSLog (@"product id is %@" , productID);

    ***////HERE////
what should i do here? 
delete the item, as it is restored OR re-download it ?(depends on the question i asked above)***


}

}

4

1 回答 1

0

恢复购买是重新启用或重新下载以前的购买,而无需再次付费。是的,商店确实会检查用户是否选择购买并显示警报,但恢复过程(从用户的角度来看)比设置新的购买(从用户的角度来看似乎是错误的,当你已经之前买过)。

恢复购买会为每个先前完成的有效交易创建新交易,因此您的处理应该在外部完成paymentQueueRestoreCompletedTransactionsFinished(它将由处理原始交易的相同代码处理updatedTransactions)。

于 2013-08-03T07:06:55.783 回答