我的应用程序有单独的非消费类应用程序内购买,以及“批量”IAP,其中包含所有其他IAP以折扣价格。因此,在允许用户购买IAP之前,我需要知道他们已经购买了哪些其他IAP。我知道获取此信息的唯一方法是调用restoreCompletedTransactions。但Apple拒绝了我的应用程序,说我不允许在显示Confirm In-App Purchase对话框之前调用restoreCompletedTransactions。尝试购买时会出现AFAIK此对话框。所以我被卡住了。有没有人有任何想法?谢谢!
答案 0 :(得分:2)
购买后,您的应用会执行哪些操作?当然它设置了一个标志或2以允许其他内容工作? 你能不能检查什么是解锁的,然后你就会知道什么是被买的。
如果没有,那么只需在购买时在某处存储一个值。
答案 1 :(得分:0)
我觉得你无法清楚自己要做什么。正如我试图做同样的事情让我解释一下。
当有人购买非易耗品IAP时,您会给他们一些特权。
在你的情况下折扣,在我的情况下一些额外的点。
当您不知道这是第一次购买非消费品IAP时,您会在用户按下购买按钮时给予折扣。您无法将其存储在NSUserDefaults或keychain中,因为如果用户更改设备,它将无法提供帮助。
因此,如果用户从设备上购买IAP,他可以获得该设备的折扣,但很酷,但他可以在他使用同一帐户登录的每台设备上执行此操作。为了防止这种情况,您需要知道它是否是第一次购买。
有人可以说你应该让他获得折扣。我不知道他在想什么,但在我的情况下,我只给出了一次积分,因为他可以通过更换设备赚取很多积分,这将是不公平的......
顺便说一下,我想出了一个解决方案,但它不是很有用。您可以创建一个名为Pro Users的游戏中心排行榜,当有人购买您的IAP时,您可以为该排行榜提供100分。之后,您可以查看用户分数,看看他是否已经购买了它......