首页 文章

在不进行恢复的情况下,了解已购买了哪些IAP

提问于
浏览
1

我的应用程序有个人非消费类应用程序内购买,以及“批量”IAP,其中包含所有其他IAP以折扣价格 . 因此,在允许用户购买IAP之前,我需要知道他们已经购买了哪些其他IAP . 我知道获取此信息的唯一方法是调用restoreCompletedTransactions . 但Apple拒绝了我的应用程序,称在显示Confirm In-App Purchase对话框之前,我不允许调用restoreCompletedTransactions . 尝试购买时会出现AFAIK此对话框 . 所以我被卡住了 . 有没有人有任何想法?谢谢!!

2 回答

  • 2

    一旦购买,您的应用程序会做什么?当然它设置一个标志或2以允许其他内容工作?你能不能检查什么是解锁的,然后你就会知道什么是被买的 .

    如果没有,那么只需在购买时在某处存储一个值 .

  • 0

    我不能让你清楚自己要做什么 . 正如我试图做同样的事情让我解释一下 .

    当有人购买非消耗性IAP时,您会给他们一些特权 .

    在你的情况下折扣,在我的情况下一些额外的积分 .

    当您不知道这是第一次购买非消耗性IAP时,您将始终在用户按下购买按钮时给予折扣 . 您无法将其存储在NSUserDefaults或keychain中,因为如果用户更改设备,它将无法提供帮助 .

    因此,如果用户从设备购买IAP,他可以获得该设备的折扣,但很酷,但他可以在他使用同一帐户登录的每台设备上执行此操作 . 为了防止这种情况,您需要知道它是否是第一次购买 .

    有人可以说你应该让他得到折扣 . 我不知道他在想什么,但在我的情况下,我只给出了一次积分,因为他可以通过改变设备赚取很多分数,这将是不公平的......

    顺便说一句,我想出了一个解决方案,但它不是很有用 . 您可以创建一个名为Pro Users的游戏中心排行榜,当有人购买您的IAP时,您可以为该排行榜提供100分 . 之后,您可以检查用户分数,看看他是否已经购买了...

相关问题