1

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

4

2 回答 2

2

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

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

于 2012-09-05T20:07:38.113 回答
0

我觉得你不能让自己清楚你想要做什么。当我试图做同样的事情时,让我解释一下。

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

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

当您不知道这是非消耗性 IAP 的第一次购买时,您总是会在用户按下购买按钮时给予折扣。您不能将其存储在 NSUserDefaults 或钥匙串中,因为如果用户更改设备,它将无济于事。

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

有人可以说,你应该让他得到折扣。我不知道他在想什么,但就我而言,我只给出一次积分,因为他只需更换设备就可以得到很多积分,那是不公平的......

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

于 2013-03-21T15:06:13.500 回答