加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 在应用内购买 – 存储/获取用户购买历史记录| iOS版

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

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

提前致谢

附: I followed this tutorial

解决方法

您可以获得一个包含用户已经购买过的所有产品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];
  }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读