有没有办法在没有应用程序登录的情况下跟踪用户购买应用程序

时间:2013-11-29 14:34:25

标签: ios iphone in-app-purchase

我正在创建一个使用IN-App Purchase的应用,并且我想在我的服务器上跟踪用户购买,因此用户无需重新下载同一次购买。但我的客户希望在应用程序中没有登录模块 我不是说没有iTune / app-store登录就可以购买。我的意思是我不想让用户登录应用程序 iTune / app-store也为我们提供了一些特殊的用户相关唯一标识符,以便知道这是之前下载此次购买的用户。

示例

假设用户是否从iPhone下载了英语语言包,并且当他尝试从具有相同Apple ID的iPad下载相同语言包时,我们的服务器可以知道这是同一个用户,并向他提供他之前的所有购买(在iPad上下载了英语语言包,并且已经在iPad上使用应用程序内购买付款。)

这就是我认为我可以做到这一点(但只有苹果为用户提供一些独特的ID才能成功)
因此,如果苹果在购买我的应用程序时提供了一些唯一的标识符,那么当用户在iPhone上下载英语语言包并且当他尝试在iPad上下载相同的语言包而不是苹果再次向我提供他的唯一标识符时,我将其存储在我的服务器上我会比较我的服务器上的这个ID,并知道我必须让用户下载这个语言包

那么apple是否为用户提供了UniqueID,或者我们可以找到用户Apple Id(不是密码)?

2 个答案:

答案 0 :(得分:1)

不,您需要通过应用内购买进行购买,Apple不允许您使用自己的服务。

总结一下,你不能在你的应用程序上出售任何不属于Apple的东西。

编辑后:

如果您希望用户在iPhone和iPad上拥有相同的产品,您必须以某种方式识别该用户,就像他的电子邮件一样。然后,当用户购买一件东西时,将该电子邮件存储在服务器上,并在iPad中免费为该用户提供产品。

如果您想在iPhone和iPad中识别该用户,则必须存储内容。

答案 1 :(得分:1)

您正在寻找的是StoreKit中的“restore purchases”功能。 请注意,并非所有应用内购买都可以通过这种方式恢复。 但我认为在您的情况下 - 购买永久功能 - 您可以使用iOS 7新的SKReceiptRefreshRequest类。

如果您必须支持旧版iOS,请使用[SKPaymentQueue restoreCompletedTransactions]SKPaymentQueue API reference)。

编辑:收据中显示的“购买”取决于产品类型see tables at bottom of this page

相关问题