Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 提供对多个应用程序的自动续订_Ios_In App Purchase_Subscriptions - Fatal编程技术网

Ios 提供对多个应用程序的自动续订

Ios 提供对多个应用程序的自动续订,ios,in-app-purchase,subscriptions,Ios,In App Purchase,Subscriptions,正如苹果公司确认的,应该可以将相同的自动续费iap添加到多个应用程序中。我有一个iPhone和一个iPad应用程序,我想在其中提供一个自动续费iap,购买一次将解锁这两个应用程序。 为了处理这两个应用程序之间的订阅,我设置了一个服务器,一旦用户购买了自动续费收据,就会将其上传到该服务器。每次用户打开其中一个应用程序时,都会与服务器建立连接,以检查是否存在活动订阅,如果存在活动订阅,则会解锁应用程序,如果没有,则会弹出“购买订阅”屏幕 现在我面临的问题是,当服务器上的每个用户检查活动订阅时,我如何

正如苹果公司确认的,应该可以将相同的自动续费iap添加到多个应用程序中。我有一个iPhone和一个iPad应用程序,我想在其中提供一个自动续费iap,购买一次将解锁这两个应用程序。 为了处理这两个应用程序之间的订阅,我设置了一个服务器,一旦用户购买了自动续费收据,就会将其上传到该服务器。每次用户打开其中一个应用程序时,都会与服务器建立连接,以检查是否存在活动订阅,如果存在活动订阅,则会解锁应用程序,如果没有,则会弹出“购买订阅”屏幕

现在我面临的问题是,当服务器上的每个用户检查活动订阅时,我如何识别他?我如何知道用户在使用其他应用之前购买了订阅

我有一个iPhone和一个iPad应用程序,我想在其中提供一个自动续费iap,购买一次将解锁这两个应用程序

我假设iPhone和iPad应用程序不是通用应用程序。也就是说,它们不共享相同的捆绑ID。如果是通用应用,则包含可续费订阅的收据将作为应用商店下载的一部分提供

如何识别服务器上的每个用户

由于您不想让用户再注册另一个帐户,因此可以在iCloud中保留最近的活动订阅日期。NSUbiquitousKeyValueStore非常适合这一点。通过快速网络检查,这就是尤利西斯处理通用订阅的方式(他们似乎在使用iCloud KVS和CloudKit的组合来确定用户是否已经在Mac或iOS应用程序上购买了订阅)。然而,现在的问题是您的用户是否拥有iCloud帐户

我有一个iPhone和一个iPad应用程序,我想在其中提供一个自动续费iap,购买一次将解锁这两个应用程序

我假设iPhone和iPad应用程序不是通用应用程序。也就是说,它们不共享相同的捆绑ID。如果是通用应用,则包含可续费订阅的收据将作为应用商店下载的一部分提供

如何识别服务器上的每个用户


由于您不想让用户再注册另一个帐户,因此可以在iCloud中保留最近的活动订阅日期。NSUbiquitousKeyValueStore非常适合这一点。通过快速网络检查,这就是尤利西斯处理通用订阅的方式(他们似乎在使用iCloud KVS和CloudKit的组合来确定用户是否已经在Mac或iOS应用程序上购买了订阅)。但是,现在的问题是您的用户是否拥有iCloud帐户。

正如您链接到的文档中所述,识别用户是您的责任;他们的建议是创建一个帐户系统,以便用户登录到您的应用程序。然后,您可以将订阅链接到服务器上的帐户。实际上,我不希望用户在购买iap之前经历创建帐户的麻烦。那么,您将如何确定您拥有相同的用户?iOS无法为您提供任何信息来识别来自不同应用程序的同一用户。如果应用程序来自同一个发布者,您可以使用供应商的
identifierForVendor
,但这只适用于单个设备,您需要处理重新安装。如果您的服务器可以处理多个收据到标识符的映射,那么这可能会起作用;用户需要在重新安装时或在其其他设备上恢复购买,以便在您的服务器上建立额外的receipt-ID4V映射可能的重复项,而我的后端所做的是允许用户成为匿名用户,即我生成他们的用户名并将会话令牌与他们关联,除非他们“完成注册”,否则无需密码/登录。@approve您能在回答中详细说明一下吗?您如何防止用户共享其用户名并让其他人免费下载订阅?正如您链接到的文档中所述,识别用户是您的责任;他们的建议是创建一个帐户系统,以便用户登录到您的应用程序。然后,您可以将订阅链接到服务器上的帐户。实际上,我不希望用户在购买iap之前经历创建帐户的麻烦。那么,您将如何确定您拥有相同的用户?iOS无法为您提供任何信息来识别来自不同应用程序的同一用户。如果应用程序来自同一个发布者,您可以使用供应商的
identifierForVendor
,但这只适用于单个设备,您需要处理重新安装。如果您的服务器可以处理多个收据到标识符的映射,那么这可能会起作用;用户需要在重新安装时或在其其他设备上恢复购买,以便在您的服务器上建立额外的receipt-ID4V映射可能的重复项,而我的后端所做的是允许用户成为匿名用户,即我生成他们的用户名并将会话令牌与他们关联,除非他们“完成注册”,否则无需密码/登录。@approve您能在回答中详细说明一下吗?如何防止用户共享其用户名并让其他人免费下载订阅?