1

我有一个非常棘手的问题(是的,我查看了苹果文档,看看是否有答案,但没有运气......我可能不小心错过了它)

这是我的计划:

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

旁注:我将在每月的每一天销售包含多个单曲的月刊。如果他们愿意,用户将能够一次下载整月或一天。

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

因此,我会将有关产品的所有信息存储在我们的服务器中,如果有人选择购买设置为 4.99 的单月问题(在我们的服务器上,而不是苹果上),那么该应用程序将运行与苹果的应用内购买,即为 4.99 层列出。每当一个人第一次打开应用程序时,他们的应用程序都会向我们的服务器发送一些信息,他们会为他们留出一行,记录有关他们购买的所有信息,以便他们在切换时可以恢复它们到另一台设备。

如果你们认为我这样做是安全的,请告诉我,以便我继续。另外,如果此方法对任何人有帮助,请随时使用!

谢谢,马特

4

1 回答 1

1

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

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

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

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

同样,应用商店规则会发生变化,如果苹果认为你在试图玩弄系统而不提供有用的体验,他们有权拒绝你。打开开发人员技术支持请求并查看 Apple 工程师是否可以为您提供更好的解决方案或告诉您审阅者是否可能接受您的申请可能是值得的。

于 2012-11-03T00:23:36.220 回答