我的应用程序有单独的非消耗性应用程序内购买待售,加上一个“批量”IAP,其中包含所有其他IAP的折扣价。因此,在允许用户购买IAP之前,我需要知道他们已经购买了哪些其他IAP。据我所知,获取这些信息的唯一方法就是打电话给restoreCompletedTransactions。但苹果拒绝了我的应用,称在显示确认应用内购买对话框之前,不允许我调用restoreCompletedTransactions。AFAIK此对话框在尝试购买时出现。所以我被卡住了。有谁有什么想法吗?谢谢!!
发布于 2012-09-06 04:07:38
一旦进行了购买,你的应用程序会做什么?它一定会设置一个标志或2来允许额外的内容工作吗?你能不能不检查什么是解锁的,然后你就会知道买了什么。
如果不是,那么只需在购买时将一个值存储在某个地方。
发布于 2013-03-21 23:06:14
我想你不能清楚地知道你想要做什么。当我试着做同样的事情时,让我解释一下。
当有人购买不可用的IAP时,您给了他们一些特权。
在你的情况下,折扣,在我的情况下,一些额外的积分。
当您不知道这是第一次购买非消耗性IAP时,当用户按下购买按钮时,您总是会给折扣。你不能将其存储在NSUserDefaults或keychain中,因为如果用户更换设备,它将无济于事。
因此,如果用户从设备上购买IAP,他可以在该设备上获得折扣,这很酷,但他可以在他使用相同帐户登录的每个设备上执行此操作。为了防止这种情况,你需要知道这是否是第一次购买。
有些人会说,你应该让他去打折。我不知道他在想什么,但在我的情况下,我只给他一次积分,因为他可以通过更换设备来获得很多积分,这是不公平的……
顺便说一句,我想出了一个解决方案,但它并不是很有用。你可以制作一个叫做Pro Users的gamecenter排行榜,当有人买下你的IAP时,你可以给这个排行榜100分。在那之后,你可以检查用户的分数,看看他是否已经购买了…
https://stackoverflow.com/questions/12288768
复制相似问题