检查用户是否从同一开发者处购买了其他应用

时间:2015-12-15 19:05:57

标签: ios receipt

如果用户购买了我之前发布的其他应用,我有一个我想要发布的新应用解锁功能。有没有办法检查用户是否购买了不是当前应用程序的应用程序,而是由同一个开发人员购买的?

3 个答案:

答案 0 :(得分:2)

我可以通过两种方式来做到这一点:

1)创建自己的服务,两个应用程序都可以交谈并共享信息,例如“此游戏中心用户购买此应用程序”。然后让其他应用程序进行查找。

2)使用local keychain存储其他应用随后可以阅读的应用特定数据。

答案 1 :(得分:1)

不,没有100%的完整方法可以做到这一点。收据验证仅适用于当前应用。您无法访问任何其他应用的任何购买信息,即使是来自同一个开发者。

一种选择是通过检查其自定义URL方案来查看用户是否安装了其他应用程序。当然,这需要用户安装旧应用程序。

答案 2 :(得分:1)

<强>更新

OP已澄清他们的目标是从付费应用程序转到免费增值应用程序,在这种情况下,可以使用不同的解决方案:see this Stack Overflow answer以查看它是否有用。

<强>原始

不可能完全按照自己的意愿行事,但你可以近距离接触。

选项1:让两个应用将UIDevice.currentDevice().identifierForVendor的结果发送到您控制的服务器,然后使用您创建的用户帐户统一这两个应用,例如:电子邮件地址或密码。

选项2:让两个应用注册属于他们的特定URL方案。然后,任一应用程序都可以查询是否安装了另一个,并可以从那里解锁功能。为此,请使用UIApplication.sharedApplication().canOpenURL(NSURL(string: "yourmagicurl://hello"))

选项1的缺点是需要服务器。此外,供应商ID可以并且将在设备重置之间以及何时删除最后一个应用程序时更改。选项2的缺点是必须同时安装这两个应用程序。所以,这两种解决方案都不是完美的,但我希望其中一种解决方案能够接近。

相关问题