2012-04-04 54 views
1

我们正在制作一款游戏,其中包含4项应用内购买。添加内容A,添加内容B,添加内容C和全部购买。“购买全部”应用程序内购买导致不必要的购买如果重新安装了应用程序

add'l内容刚刚从应用程序中解锁,没有下载。

所以这里是导致我遇到的问题的步骤。

用户购买“全部购买”项目。代码知道这是购买并解锁所有Add'l内容A,B,C。游戏节省了所有的东西,所以当你再次去商店时,所有的按钮都不可用。

然后用户重新安装应用程序(新手机,相同电话等)。
由于应用内购买的所有保存数据都已丢失,因此当他们进入商店时,所有商品都可以再次使用。现在如果:

a)用户再次选择“全部购买”,应用商店让它免费发生,因为它是重新下载,代码解锁并保存所有内容,一切正常。

然而,这里是哪里出了问题,如果他们:

b)选择购买用户互动,增加内容A.现在,即使购买所有的过去被选中,有购买所有的本地没有记录被购买或内容被解锁,并且由于用户从未实际购买过物品Add'l内容A,所以App Store为其收费(不重新下载)。内容解锁,但如果用户再次购买全部,他们将得到一个免费的重新下载和所有的内容,但收取两次Add'l内容A.

问题在于事实我认为没有办法通过一次注册的应用内购买将其他人标记为已购买,即使与他们购买的内容是通过“全部购买”购买的。

我已经想出了一些这方面的解决方案,但我不知道哪些是有效的,甚至苹果

1)允许什么都不做,让用户失去了一个额外的$ .99。

2)放置一个“Restore Purchases”按钮,它将调用恢复,再次请求用户密码,并根据需要更新所有解锁的内容。这将解决问题,但用户仍然可能不会选择它,并且该按钮从来没有在我们游戏的原始设计中。对我来说不是一件大事,但客户可能不喜欢它。

3)自动恢复购买检查。我知道每次登录都不应该这样做,但可以在用户第一次进入商店或第一次用户尝试购买东西时自动调用。

是否有这些有效的解决方案,或者是否有其他方法可以防止重复购买内容?我真的比用户更担心苹果的标准,但我必须确保我第一次就能做到这一点。

谢谢 -Mo

回答

1

请问您购买所有的采购成本更低,比A B C的总和?

如果否,您可以购买所有A,B和C的NSSet,而不是再制作一个产品。

您也可以尝试恢复交易,当用户点击A产品并检查,如果他已经先购买它,然后让他购买它。