当用户可以登录和退出应用程序时,处理非消费类应用内购买

时间:2014-07-18 12:36:53

标签: ios in-app-purchase storekit

我最近有一个iOS应用程序被Apple拒绝使用耗材IAP项目升级用户'从银色到金色,而根据Apple指南,它应该是非消耗品。但是,我们使用耗材的原因如下:

  • 该应用拥有自己的用户身份验证系统,与后端绑定。一旦购买消耗品,用户对象就被修改为金色类型。因此,默认情况下,他们的购买将在其他设备上提供,前提是他们使用正确的应用用户登录。

  • 如果我们使用非消费类型,则用户可以购买升级版并继续注销该应用,然后以不同的应用程序的形式重新登录。用户,点击恢复交易按钮(如果应用使用非消耗品则需要)并将其他用户免费升级为黄金。

在这种情况下,正确的做法是什么?我看到它的方式,我们有以下选择:

  1. 更改为非耗材以保持Apple的满意,接受用户可能可以免费升级多个帐户。虽然实际上可能不太可能发生这种情况

  2. 坚持使用耗材并改变我们购买类型的一些措辞,以便更清楚地表明,如果您切换应用用户,将来可能会再次购买。甚至可以使用一种应用内货币(对于只有一种购买类型的应用来说似乎有点过分)

  3. 我错过了什么,这似乎是一个灰色地带,信息很少。基本上我们不希望将升级绑定到AppleID,我们希望它们与应用用户绑定。有没有什么方法可以实现非耗材,但也阻止用户升级多个帐户?或者,我们如何以这样的方式操纵购买事件以使消耗品被认为是合适的?

    提前致谢

1 个答案:

答案 0 :(得分:1)

如果您使用服务器端收据验证,则可以使用服务器上的useraccount存储购买的原始交易ID。

当用户在您的数据库中为其他用户存在原始交易ID时,在服务器上购买非消耗性支票

相关问题