我在应用程序商店有一个应用程序,有2个应用内购买。现在我想更新我的应用程序,显然谁已经购买了我的应用程序内购买,不应该再次付款。这些用户应该是免费的。我不知道该为此做些什么。
有人可以在这里指导我吗?任何帮助将不胜感激 谢谢。
答案 0 :(得分:3)
您可以在应用程序中放置一个“还原”按钮,用户可以从中恢复已购买的IAP。我假设您为您的应用保留了非消耗品。因此,在这种情况下不要担心,它不会再次向用户收取购买费用。
答案 1 :(得分:1)
您不仅需要致电[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
,还需要实施自己的恢复(我的意思是,向用户提供内容)。
答案 2 :(得分:1)
当用户购买某个项目(IAP)时,应用程序应通过NSUserDefaults将该项目的购买状态保存在plist中。我认为这是标准的做法,可能你做了什么,不是吗?
因此每个用户都有App文件和plist(包含您希望在会话之间保存的所有值,包括可购买项目的状态)。当应用程序有更新时,应用程序文件会被替换,但据我所知,的plist 不会改变。我还没有做过更新,但在H2CO3对this answer的评论中它是这样说的(注意H2CO3有很多声誉)。因此,您可以更改应用程序但如果您不更改NSUserDefaults存储此购买的状态并在新会话启动时检索,那么您应该没问题并且更新的用户将已经买了物品。另一方面,如果用户删除并重新安装应用程序而不是更新,那么他将丢失plist,恢复项目的唯一选择是通过还原,如其他答案所指出的那样。