应用内购买没有恢复按钮会导致拒绝

时间:2012-06-11 06:26:28

标签: objective-c ios xcode in-app-purchase

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

  

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

     

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

     

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

并且没有可以引用的链接,我已经实现了:

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

SKPaymentTransactionStateRestored案例。

但我没有实施:

`restoreCompletedTransactions`  or `paymentQueueRestoreCompletedTransactionsFinished`

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

由于

1 个答案:

答案 0 :(得分: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];
  }

}

purchaseItemIDs将包含用户购买它的所有产品ID ..您可以在完成后点击此按钮调用此功能,以显示所有这些产品,以便用户再次下载。