最近我提交了一个应用内购买的应用,但由于以下原因被拒绝:
我们发现,虽然您的应用提供可恢复的应用内购买,但它不包括允许用户恢复之前购买的应用内购买所需的“恢复”功能
我完全按照说明进行操作,并按以下方式实施:
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction:transaction];
[self provideContent:transaction.payment.productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
- (void) restoreTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction: transaction];
[self provideContent: transaction.originalTransaction.payment.productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
显然,我还没有触发 restoreTransaction 的按钮,但我感到困惑的是,Apple 是否只是要求用户将其作为一种形式来减少混淆?因为上述两种方法都做同样的事情,而且我注意到当我在之前已经这样做之后尝试购买应用内购买时,它会说“免费升级,因为你已经购买了它”。
所以我的第一个问题是,有一个恢复按钮的目的仅仅是为了防止用户吓坏,因为他们可能会害怕再次推动“购买”吗?即我不需要在数据库或其他东西中跟踪我的客户购买历史?
第二个问题是,如果之前没有购买过应用的用户出于好奇推送“恢复”,它会继续为他们购买应用内购买吗?