Ios 应用内购买-允许完全控制从个人服务器添加产品的方法=允许?

Ios 应用内购买-允许完全控制从个人服务器添加产品的方法=允许?,ios,in-app-purchase,subscriptions,Ios,In App Purchase,Subscriptions,我有一个非常直截了当的问题(是的,我查阅了苹果的文档,看看这是否有答案,但运气不好……我可能不小心错过了) 这是我的计划: 我一直试图找到一个解决方法的问题是,如果管理员想要添加一个产品,他必须登录iTunes connect来添加它,并将其添加到自定义控制面板中。很明显,我们不想让他遭受这种痛苦,所以我一直在寻找解决方案,但我需要你们告诉我,苹果是否允许这样做。基本上,我将接管我们服务器上的大部分产品处理,并且只会将交易交给苹果。这意味着苹果不会为所有产品设置应用内购买。。。每个订阅期(1个月

我有一个非常直截了当的问题(是的,我查阅了苹果的文档,看看这是否有答案,但运气不好……我可能不小心错过了)

这是我的计划:

我一直试图找到一个解决方法的问题是,如果管理员想要添加一个产品,他必须登录iTunes connect来添加它,并将其添加到自定义控制面板中。很明显,我们不想让他遭受这种痛苦,所以我一直在寻找解决方案,但我需要你们告诉我,苹果是否允许这样做。基本上,我将接管我们服务器上的大部分产品处理,并且只会将交易交给苹果。这意味着苹果不会为所有产品设置应用内购买。。。每个订阅期(1个月、3个月……等)只需一次,以及针对不同发行/单张价格的一些应用程序内消费品购买

旁注:我将销售月刊,月刊中每天都有多首单曲。如果用户愿意,他们可以一次下载一个月或一天

消耗品采购的定义-每次用户需要该产品时,必须购买该产品。例如,一次性服务通常作为消费品实现

因此,我将在我们的服务器上存储有关产品的所有信息,如果有人选择购买设置为4.99(在我们的服务器上,而不是苹果上)的单月发行,则应用程序将与苹果一起运行应用程序内购买,该购买列为4.99层。每当有人第一次打开应用程序时,他们的应用程序都会将一些信息发送到我们的服务器,并为他们留出一行,记录他们购买的所有信息,以便他们在切换到其他设备时可以还原这些信息

如果你们认为我这样做是安全的,请让我知道,以便我可以继续。此外,如果这个方法对任何人都有帮助,请随意使用它

谢谢,
Matt

我认为您的恢复过程可能有缺陷。您谈到应用程序向服务器发送一些信息,但这些信息是什么?没有可靠的方法跨不同的设备唯一地标识用户

如果要继续走这条路,您需要确保恢复和故障切换过程非常可靠。尝试每一个可以想象的场景。从App Store提交的观点来看,您将需要考虑基于令牌/硬币的方法。当然,苹果的指导方针相当宽松,可能会发生变化,所以你总是有可能被拒绝,但代币肯定比简单地使用相同的通用应用内购买更可靠

在代币系统中,您可以为不同数量的代币设置应用程序内购买,用户可以将这些代币作为一种虚拟货币进行购买,这种虚拟货币仅在您的应用程序内有效。然后用户可以将这些令牌花费在您动态创建的任何项目上

服务器端这意味着您需要某种方法来存储用户当前拥有的令牌数量,以及一种跨设备唯一标识用户的方法,这是一个相当不确定的命题。您可以实现某种哈希算法,从应用内购买收据生成哈希,然后将其发送到服务器,而不是存储每个用户拥有的令牌数。如果购买后应用程序崩溃或网络死机,但在发送哈希之前,下次他们打开应用程序时,您可以重新计算所有哈希值,发送哈希值,如果服务器无法识别哈希值,则只将其添加到数据库中。然后,如果用户想要恢复他们的购买,您只需使用您将收到的应用程序内购买收据重新计算设备上的哈希值,然后将它们发送到您的服务器,并要求服务器计算每个哈希值,用户还剩下多少令牌。你可以把它想象成一个礼品卡系统,每个散列都是一张礼品卡


同样,应用商店的规则也会改变,如果苹果认为你试图玩这个系统而没有提供有用的体验,他们有权拒绝你。打开开发人员技术支持请求,看看苹果工程师是否能为您提供更好的解决方案,或者告诉您审查人员是否可能接受您的应用程序。我认为您的恢复过程可能有缺陷。您谈到应用程序向服务器发送一些信息,但这些信息是什么?没有可靠的方法跨不同的设备唯一地标识用户

如果要继续走这条路,您需要确保恢复和故障切换过程非常可靠。尝试每一个可以想象的场景。从App Store提交的观点来看,您将需要考虑基于令牌/硬币的方法。当然,苹果的指导方针相当宽松,可能会发生变化,所以你总是有可能被拒绝,但代币肯定比简单地使用相同的通用应用内购买更可靠

在代币系统中,您可以为不同数量的代币设置应用程序内购买,用户可以将这些代币作为一种虚拟货币进行购买,这种虚拟货币仅在您的应用程序内有效。然后用户可以将这些令牌花费在您动态创建的任何项目上

服务器端这意味着您需要某种方法来存储用户当前拥有的令牌数量,以及一种跨设备唯一标识用户的方法,这是一个相当不确定的命题。您可以实现某种哈希算法,从应用内购买收据生成哈希,然后将其发送到服务器,而不是存储每个用户拥有的令牌数。如果购买后应用程序崩溃或网络死机,但在发送哈希之前,下次他们打开应用程序时,您可以重新计算所有哈希值,发送哈希值,如果服务器无法识别哈希值,则只将其添加到数据库中。那么如果