免费应用内购买

3
我遇到了困难。我的客户希望为应用程序设置一个价格标签(£1.49),并且该应用程序还有4个非消耗性的应用内购买项目(每个项目都是£1.49)。然而,他们希望在第一次运行时免费提供其中一个非消耗性项目(但不是特定的项目,他们希望用户从这4个项目中选择一个),因为他们已经支付了应用程序的费用。
有没有办法管理这个问题?据我所知,在iTunes连接中我们无法创建免费的非消耗性产品。我们可以通过编程方式检查是否为首次使用者并解锁产品,但由于这不是通过iTunes Connect进行的,用户将无法将其解锁的功能带到其他设备上。
如果我们使用自己的服务器和数据库来跟踪谁免费解锁了哪个功能,那么我认为这个应用程序更容易被拒绝。
一个解决方案可能是使应用程序免费,并保持非消耗性项目不变,但客户不喜欢这个解决方案。
请给予建议?
谢谢 Oz

我很想看到一个合适的解决方案。我现在遇到了同样的问题,只不过我们正在销售硬件,并且我们希望每购买一台硬件就提供一个免费的IAP。如果IAP支持免费购买,这将非常完美。自己建立基础设施需要大量工作。此外...不确定如何识别用户。我们想通过用户(即Apple ID)而不是设备来识别。 - Sam
我不知道如何识别用户。如果我找到解决方案,我会在这里添加。 - Ozay
1
除非您提供某种注册过程,否则您无法完成此操作。然而,如果用户需要首先提供其姓名/电子邮件地址,则更不可能使用您的礼品。除此之外,还有游戏中心ID,但是使用它会感到尴尬,并且您不能假设每个人都注册了游戏中心。 - Toastor
是的,注册过程也很混乱。人们可以轻松地使用相同的用户名/密码。与Apple ID不同,用户名不会与信用账户或设备绑定,因此没有理由不与他人共享。更不用说正如你所指出的,用户不想再创建另一个登录名 - 我也和他们一样。没有好的解决方案。我想我最终会通过让两个SKU指向同一产品并且第二个SKU的最低价格为0.99美元来大幅折扣产品。这样做起来就容易得多了。只需要得到管理层的批准。 - Sam
不知道答案。但是你可以查看ubiquityIdentityToken作为识别用户的可能方式。然而,并不是所有用户都会登录iCloud。 - funroll
1个回答

1

很遗憾,那样做行不通。

至少不能使用应用商店本身。但您可以通过实现一个单独的基础设施来管理免费下载资格,从而提供下载/访问相同内容的方式。例如,应用程序在第一次启动时,可以与您的服务器检查运行设备是否已经注册。如果没有,它会向您的服务器注册并授予用户对其中一个产品的免费访问权限。

使用完免费产品后,购买将像通常一样通过IAP进行处理。但是,您需要注意用户可能会在免费下载后意外再次购买产品,并且重新安装应用程序不会为同一用户提供另一个免费下载。

这种方式需要更多的工作量,并且您将失去苹果IAP结构的安全性。


谢谢你的回答。我也想到了同样的解决方案,只是要在服务器上注册用户。我会试一下的。 - Ozay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接