请教一个IAP问题:如何同步服务器和客户端的购买信息

2013-03-11 17:57:01 +08:00
 doubleone
手机上有购买会员功能:(1个月、3个月……),属于Consumable。如果一切正常,App store返回成功,再向自己的服务器发送purchasedReceipt,服务器然后向Apple验证purchasedReceipt,得知用户是否合法购买成功。
但假设,客户端在向服务器发送purchasedReceipt时,出现了网络异常,这时比较好的解决方案有哪些?
本地存储信息,待网络正常后再次验证?
5565 次点击
所在节点    iDev
25 条回复
ewangke
2013-03-30 00:02:59 +08:00
@doubleone 请教一下,non-renewing和auto-renewing一般如何按场景区分使用
doubleone
2013-04-01 21:12:59 +08:00
@ewangke 我的理解是non-renewing需要由自己去管理订阅 比如会员 其中会有苹果无法控制的东西 像是特权之类的
而auto-renewing苹果已经提供了管理方案 适合杂志之类的传统订阅服务
chisj
2013-04-02 16:25:59 +08:00
我的做法:purchasedReceipt每次发送前,都做本地保存。
发送成功后,移除purchasedReceipt。
发送失败,提示用户网络异常或者服务器异常,并提供联系方式。

在每次becameActive时候,判断是否有purchasedReceipt,有的话,发送到后台,成功才移除,出错就在每次Active都继续发送。

不知道这样是否会有什么问题?
doubleone
2013-04-02 21:59:05 +08:00
@chisj 基本一样 保存在keychain里 不成功时告知用户会之后自动验证
chisj
2013-04-03 09:31:55 +08:00
@doubleone 多谢,我的版本还没发出去呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62604

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX