我们正在制作一款有4个应用内购买的游戏。添加内容A,添加内容B,添加内容C和全部购买。
add'l内容只是从应用内部解锁,没有下载任何内容。
所以这是导致我遇到的问题的步骤。
用户购买“全部购买”项目。代码知道这是购买并解锁所有Add'l内容A,B,C。游戏保存所有内容都已购买,因此当您再次进入商店时,所有按钮都不可用。
然后用户重新安装应用程序(新手机,同一部手机等) 由于应用内购买的所有保存数据都会丢失,因此当他们去商店时,所有商品都可以再次使用。现在如果:
a)用户再次选择“全部购买”,应用程序商店允许它免费发生,因为它是重新下载,代码解锁并保存所有内容,一切都很顺利。
然而,问题出在哪里,如果他们:
b)选择购买Add'l内容A.现在,即使过去选择了全部购买,也没有购买全部购买或解锁内容的本地记录,并且因为用户从未实际购买过商品内容A,App Store收费(不重新下载)。内容已解锁,但如果用户再次重新购买,则会获得免费重新下载和所有内容,但会为Add'l内容A收取两次费用。
问题在于我不认为有一种方法可以让一个注册的应用内购买将其他商品标记为购买,即使与他们一起购买的内容是通过全部购买。
我已经为此提出了一些解决方案,但我不知道哪些是有效的,甚至是苹果允许的
1)什么也不做,让用户额外损失0.99美元。
2)设置“恢复购买”按钮,该按钮将调用恢复,再次询问用户密码,并根据需要更新所有未锁定的内容。这将解决问题,但用户仍然可能不会选择它并且该按钮从未出现在我们游戏的原始设计中。对我来说没什么大不了的,但客户可能不喜欢它。
3)自动恢复购买检查。我知道你不应该每次登录都这样做,但可以在用户第一次进入商店或第一次用户尝试购买时自动调用。
是否有任何这些有效的解决方案,或者我还能做些什么来防止双重购买内容?我比苹果标准更担心苹果标准,但我必须确保我第一次做到这一点。
谢谢 -Mo
答案 0 :(得分:1)
您购买的所有购买成本是否低于A B C的总和?
如果不是,你可以购买所有A,B和C的NSSet,而不是再生产一种产品。
当用户点击A产品并检查,他是否已经先购买,然后让他购买时,您也可以尝试恢复交易。