22

我正在使用非消耗品的应用程序购买实现应用程序,它被苹果拒绝,原因是:

我们发现您的应用提供了可以恢复的应用内购买,但它不包含允许用户恢复之前购买的应用内购买的“恢复”功能。

要恢复以前购买的应用内购买产品,最好提供一个“恢复”按钮并在点击“恢复”按钮时启动恢复过程。

有关恢复交易和验证商店收据的更多信息,请参阅

并且没有链接可以参考,我已经实现了:

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

SKPaymentTransactionStateRestored案例。

但我没有实现:

`restoreCompletedTransactions`  or `paymentQueueRestoreCompletedTransactionsFinished`

这些方法是批准应用内购买所必需的,或者确切的问题是什么。

谢谢

4

1 回答 1

22

使用以下内容恢复用户从您的应用购买的产品 ID

- (void) checkPurchasedItems
{
   [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}// Call This Function

//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
  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];
  }

}

购买的ItemIDs 将包含用户购买的所有产品ID。您可以在完成后放置一个按钮来调用此函数,您可以显示所有这些产品以使用户能够再次下载它。

于 2012-06-11T06:50:21.590 回答