iOS:通过应用内购买将付费 iOS 应用程序转换为免费应用程序时跟踪付费用户

iOS: Tracking the paid users while converting paid iOS application to free with in-app purchases

我们目前在 AppStore 中有一个付费的 iOS 应用程序。我们计划将其转换为带有应用内购买的免费应用程序。我们希望对已经为之前版本的应用程序付费的用户免费提供应用程序内购买。我认为这可以通过 App Receipt Validation 来完成。但是,一旦应用程序从付费转换为免费,收据是否会更新?购买详细信息是否会丢失?

如果您将应用从付费转换为免费,您仍然可以检查收据并查看最初下载的版本并采取相应措施。

当我们在其中一款游戏中这样做时,我们实施了一个三层系统:

  1. 我们修改了存档文件的版本。任何时候我们从版本 <= X(其中 X 是高级版本的最后一个)的保存文件升级时,我们都会奖励适当的 IAP(在我们的例子中,我们给了他们一个硬币加倍器、一个广告禁用器和一个块硬币)。您应该为大多数用户使用这种简单的机制,因为收据检查可能需要互联网连接,并且您的用户在更新后第一次启动时可能不在线。

  2. 我们有一个 'restore IAP' 按钮。如果您有任何非消耗性 IAP,您无论如何都需要在 iOS 上使用此功能,但我们还添加了 App Store 收据检查,让您了解用户最初是否为游戏付费。这是我们的代码所基于的 tutorial,我们选择了简单的方法,但您可能需要权衡盗版问题。

  3. 我们的报销系统还会检查我们托管的文件,该文件可以提供额外的 coins/doubler unlocks/ad 移除程序。如果收据检查失败(我们支持 iOS 7 之前的版本,因此我们不能依赖收据检查 API),那么如果用户联系我们,我们可以通过这种方式补偿他们。无论如何,这是一个好主意,幸运的是,在你免费后你会有更多的用户,这意味着更多的人会发现你的应用程序中的一些进度丢失的错误 - 能够在 return.

编辑:我还建议在保存文件中跟踪用户的类别。因此,您可能有 'free' 位用户从未支付过任何费用,'paid' 位免费下载但购买了一些 IAP 的用户,'premium' 位付费购买您的应用程序的用户,以及 'premium+' 付费购买了您的应用程序并随后购买了 IAP 的用户。即使您并不立即需要此信息,也值得对其进行跟踪以进行分析,这样您就可以在将来决定这样做时用免费内容奖励您的老高级客户。