我们正在开发一款包含 4 次应用内购买的游戏。添加内容 A、添加内容 B、添加内容 C 和全部购买。
附加内容只是从应用程序内解锁,没有下载任何内容。
所以这是导致我遇到的问题的步骤。
用户购买“全部购买”项目。代码知道这是购买的并解锁所有 Add'l Content A、B、C。游戏会保存所有东西都已购买,因此当您再次去商店时,所有按钮都不可用。
然后用户重新安装应用程序(新手机、同一部手机等)。
由于应用内购买的所有保存数据都丢失了,当他们去商店时,所有物品都可以再次使用。现在如果:
a)用户再次选择“全部购买”,应用商店允许它免费发生,因为它是重新下载,代码解锁并保存一切,一切都很好。
但是,如果他们:
b) 选择购买 Add'l Content A. 现在,即使过去选择了 Buy All,也没有购买 Buy All 或解锁内容的本地记录,并且由于用户从未实际购买过 Add'l Content 项目A、App Store收费(无需重新下载)。内容已解锁,但如果用户再次重新购买,他们将获得免费重新下载和所有内容,但为 Add'l Content A 支付了两次费用。
问题在于,我认为注册的应用内购买无法将其他人标记为已购买,即使与他们一起购买的内容是通过“全部购买”购买的。
我为此提出了一些解决方案,但我不知道哪些是有效的,甚至是 Apple 允许的
1) 什么都不做,让用户多损失 0.99 美元。
2)放置一个“恢复购买”按钮,该按钮将要求恢复,再次询问用户密码,并根据需要更新所有解锁的内容。这将解决问题,但用户仍然可能不会选择它,并且该按钮从未出现在我们游戏的原始设计中。对我来说没什么大不了的,但客户可能不喜欢它。
3)自动恢复购买检查。我知道你不应该在每次登录时都这样做,但它可以在用户第一次进入商店或用户第一次尝试购买东西时自动调用。
这些有效的解决方案中的任何一个,还是我可以采取其他措施来防止重复购买内容?我真的比用户更担心 Apple 标准,但我必须确保我第一次就做对了。
谢谢你-莫