在应用程序购买 - 存储/获取用户购买历史记录| iOS版

时间:2012-04-03 11:51:40

标签: iphone xcode

我正在开发一个应用程序,允许用户使用In App Purchase购买新的级别/功能。 据我所知,根据我的研究,我可以通过传递一组ProductIds,使用SKProductsRequest从iTunesConnect获取In App Purchase产品。然后我必须检查用户是否已经购买了任何产品并相应地处理UI。我将购买的产品ID存储在NSUderDefaults中,并根据退回的产品进行检查。我不太确定这个程序,因为用户可能计划在某个阶段删除并重新安装应用程序,我们将失去NSUserDefaults,从而失去用户的购买历史记录。

我们有什么方法可以从苹果服务器获取用户的信息吗?或者我必须记录用户的购买情况。

提前致谢

P.S。 I followed this tutorial

1 个答案:

答案 0 :(得分:5)

你可以得到一个数组,其中包含用户已经购买的所有产品ID,即使用户卸载/重新安装你的应用程序

- (void) checkPurchasedItems
{
   [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}//You 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];
  }

}