我正在决定如何构造我的应用程序内购买。我的目标是在没有自己的服务器基础设施的情况下完成这项工作。
我的应用程序生成PDF格式的报告,通过电子邮件导出。我想把报告的数目限制为3份,然后再购买3份。报告的所有数据以及报告本身都是在设备上本地创建的。
这应该是Non-Consumable类型吗?也许不是,因为它在文档中说,这应该是一次性的购买。但我希望用户能够购买另外3甚至10个报告。然而,它也说,这种类型应该是自动在所有设备上安装的应用程序,这是我想要的。
还是应该是Consumable类型?再说一次,这似乎不符合。docs声明它“必须在用户每次需要该项目时购买”。从概念上讲,这似乎是近在咫尺,但是我如何跟踪,比如说,如果在iPhone上消耗了两个报告,并且每个设备上仍然有一个可用的报告呢?
我想我们可以排除Auto-Renewable Subscription.
也许应该是个Non-Renewable Subscription.但是,我不希望我的报告信用有一个到期日期,理想情况下,它们应该传播到所有设备,这种类型也不提供这些设备。
我愿意在所有设备的传播上妥协。信用应该被准确地跟踪,并且应该有可能购买一个无限的金额。
这将如何在应用程序中实现?在启用导出按钮之前,只检查NSUserDefaults中的一个数字?是否可以在每次导出报表时通过StoreKit进行检查?(这是电子邮件输出,所以上网无论如何都是先决条件)。
是否有可能避免使用我自己的服务器基础结构?如果没有,我要追踪什么?
有什么想法,指导,建议吗?
发布于 2012-11-02 19:28:01
正如黑青蛙在回答中提到的那样,仅仅为了避免服务器基础设施,依赖苹果可能是一个更困难的解决办法。你必须撤销旧的购买,并对用户的花费和剩余的费用进行统计。即使是这样,我想你也需要一个服务器。
我将尝试把整个消费品在应用程序中的循环成碎片;
基本上,你不需要一个完整的基础设施来实现你的应用程序的服务器端,所以不要让它吓倒你。据我所见,保存你卖给你的用户的每一个信息都比依赖苹果更安全。
这里要注意的另一件重要的事情是,应用程序内的采购可以是伪造的,防止这种情况的唯一方法是验证购买的收据,查看这里。还请注意,使用php脚本要容易得多。如果您试图发送检索到的收据并将其发送到用户设备上进行验证,您将为此实现一个完整的类。
如果你有什么想法,让我知道,所以我会试着详细说明。
发布于 2012-11-02 14:54:30
因为您不想创建自己的服务器基础设施,用户将没有最好的经验使用您的应用程序。暂时忘了不同类型的应用程序内采购。假设您跟踪用户可以在加密文件中在设备上生成的报告的数量。假设文件位于NSApplicationSupportDirectory中。
摘自确定存储应用程序特定文件的位置上的苹果文档:
因此,每次用户进行应用程序内购买时,数量都会增加。每当用户生成文档时,我都会减少它。使用iCloud时,用户拥有的所有设备上都有这些信息。
这就是可能出现不良用户体验的地方。假设我有一个设备,我购买5份报告。我只使用2,假设我的设备没有存储空间,我想暂时删除你的应用程序。当我再次安装它,我已经失去了3份报告,我有信用。这就是为什么您需要一个服务器来跟踪/记录采购情况,以及何时生成报告。
https://stackoverflow.com/questions/13196932
复制相似问题