首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(iphone) inAppPurchase什么时候在自己的服务器上记录购买历史?

问(iphone) inAppPurchase什么时候在自己的服务器上记录购买历史?
EN

Stack Overflow用户
提问于 2011-06-02 16:23:44
回答 2查看 211关注 0票数 1

我想在我的服务器上记录购买历史。

问题是,

在购买完成之前,我不应该记录它(因为购买可能会失败)

但如果我在购买完成后将其记录下来,用户可能会停止应用程序,应用程序可能无法将购买历史消息发送到服务器。

我最初的想法是“记录购买历史”,当用户验证收据时(当我的服务器从苹果服务器获得收据验证时)。

但是用户可能会多次通过收货验证阶段,但实际上并没有完成购买?(我对此不太确定)

有没有推荐的在服务器模式中存储应用内购买历史的方法?

EN

回答 2

Stack Overflow用户

发布于 2011-06-02 17:26:20

  1. 您可以在购买完成后使用NSUserDefaults临时保存购买日志,并将其同步到服务器afterwards.
  2. You可以阻止UI,直到完成购买并将购买日志推送到服务器。
票数 0
EN

Stack Overflow用户

发布于 2013-11-27 19:47:22

您应该在购买交易完成之前注册到您自己的服务器

如果应用程序变为非活动状态,则当应用程序变为活动状态时,“事务”重试购买过程

为此,您必须使用SKPaymentTransaction:

在[[SKPaymentQueue defaultQueue] addPayment:payment];之后

保存到您自己的服务器中,如果成功

代码语言:javascript
复制
SKPaymentTransaction *transaction = <# The current payment #>;
SKPaymentQueue *queue = [SKPaymentQueue defaultQueue];

[defaultQueue finishTransaction:transaction;]

如果不是

代码语言:javascript
复制
[defaultQueue restoreCompletedTransactionsWithApplicationUsername
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6212115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档