ios – 通用应用程序购买产品实施

考虑下面的例子.假设我们有一个应用程序,其中专业作家从基于网络的UI写故事.然后,在应用程序购买项目中,这些故事可供iOS应用的用户使用.

您可能知道我们需要提前在应用程序购买产品中创建.但在我们的情况下,这意味着对于作家创作的每一个故事,我们将必须创建一个新的IAP产品,并等待苹果批准.

为了规避这个问题,我计划在IAP中创建一般的“消耗性”产品,如1.99美元的故事,价值2.99美元的故事,依此类推.然后在应用程序UI中,我将显示由作者创建的故事列表,并显示作者在创建故事时指定的故事的相应价格.一旦用户点击购买按钮,我将显示相同价格的通用消费品的购买,并完成应用程序购买过程.

现在的问题是苹果是否会批准这样的实施?它符合他们的IAP政策吗?我正在询问,因为我找不到这样的工作流程的指南.

实现这一点的另一种方法是实施应用程序信用/货币系统,如游戏使用.人们购买信用卡/硬币,然后用硬币购买商品.这是一个经过试验和测试的方法,但它不适合我的应用程序的类比,因此这个问题.

解决方法

你想要实现的是完全可行的,唯一的事情是你的可购买内容必须是动态的.您将不得不从服务器下载产品ID,而不是在应用程序中硬编码.

要参考你的例子,我可以想象一个表格视图被提供一个对象的列表,这些对象将会保存SKProduct ID.您必须这样做,因为在撰写本文时,您无法从Apple服务器检索应用程序的所有可用产品ID.我知道这是屁股,他们没有实现这个功能,但老实说,如果他们还没有,我不认为他们会做任何事情.

这是我所指的方法initWithProductIdentifiers

您提供一个NSSet,其中包含您要检索的所有标识符,但是如果提供一个空的集合或一个零,则不会回复所有现有的标识符.如果您觉得这不行,您可以向Apple提出错误.如果您还有任何疑问,请检查此SO答案:link

另外需要注意的是,您必须手动上传产品.苹果公司不会公开任何API,以使该过程自动化.这意味着,每当作家将内容上传到您的服务器时,您都必须登录iTunes连接并创建产品.此外,您将被限制为10,000个产品,因为这是您可以向苹果注册的不同产品的最大数量.我还建议您快速阅读iTunes Connect指南,该指南有一些重要信息,如我刚刚提到的一个iTunes Connect

关于像上述UrbanAirship这样的第三方框架,它们只会使您无需在服务器上实施收据验证.除此之外,我看不出什么大的优势.

说这个,我建议你重新考虑你的商业模式.真的值得一个上传产品的麻烦吗?或者更好的去订阅方式,您的用户每月支付固定的金额下载一些文章.您可以拥有不同的层次,如基本,高级(无限下载)等等,并控制从您的服务器发送文章.这取决于你,但对我而言,答案很清楚.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...