【问题标题】:Generic In App Purchase Products Implementation通用应用内购买产品实施
【发布时间】:2012-10-25 11:38:21
【问题描述】:

考虑以下示例。假设我们有一个应用程序,专业作家可以在其中通过基于 Web 的 UI 编写故事。然后这些故事可供 iOS 应用的用户在应用购买项目中使用。

您可能知道,我们需要提前创建应用内购买产品。但在我们的情况下,这意味着对于作者创建的每个故事,我们都必须创建一个新的 IAP 产品并等待 Apple 批准。

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

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

实现这一点的另一种方法是实现应用内信用/货币系统,例如游戏使用。人们购买积分/硬币的地方,然后他们用硬币购买物品。这是一种久经考验的方法,但它不适合我对应用程序的类比,因此提出了问题。

【问题讨论】:

  • 您是否按照您在此处描述的方式实现了此功能?我想对我的新应用做同样的事情,但不确定他们是否会批准......
  • 你打算如何付钱给作者?
  • @RubberDuck - 是的,我们以这种方式实现了它。该应用程序在第一次尝试时被拒绝。客户必须与 Apple 抗争才能按照此实施方式获得批准。
  • @Sonny Parlin - 作家(不是作家,我只是使用一个例子来保持原始概念,因为 NDA)被给予一个基于网络的帐户,以查看他们的收入和他们的帐户将每月通过以其他非自动方式发送支票或付款来结算。
  • @PritamBarhate 这个应用还在商店里吗?如果是这样,进一步更新是否有问题?我正在考虑采用完全相同的模式(代表价格层的消耗性应用内购买),但它感觉阴暗,可能会在 Apple 中引起麻烦。

标签: ios in-app-purchase


【解决方案1】:

您想要实现的目标是完全可行的,唯一的问题是您的可购买内容必须是动态的。您必须从服务器下载产品 ID,而不是将它们硬编码到您的应用程序中。

参考您的示例,我可以想象一个表格视图被提供了一个对象列表,这些对象列表中存储了 SKProduct ID。您必须这样做,因为在撰写本文时,您无法从 Apple 服务器检索应用程序的所有可用产品 ID。我知道他们没有实现这个功能很痛苦,但老实说,如果他们还没有实现,我认为他们永远不会这样做。

这是我指的方法:initWithProductIdentifiers

您为它提供了一个 NSSet,其中包含您要检索的所有标识符,但如果您提供一个空集或 nil,它不会回复所有现有的。如果您觉得这不起作用,您可以向 Apple 提交错误。如果您仍有任何疑问,请查看此 SO 答案:link

另一个需要注意的重要事项是,您必须手动上传您的产品。 Apple 没有公开任何 API 以使流程自动化。这意味着,每次作家向您的服务器上传内容时,您都必须登录 iTunes 连接并创建产品。此外,您将被限制为 10,000 种产品,因为这是您可以向 Apple 注册的不同产品的最大数量。我还建议您快速阅读 iTunes Connect 指南,其中包含一些重要信息,例如我刚才提到的:iTunes Connect

关于 3rd 方框架,例如前面提到的 UrbanAirship,它们只会让您不必在服务器上实施收据验证。除此之外,我没有看到任何主要优势。

说到这里,我建议你重新考虑你的商业模式。一件一件地上传产品真的值得吗?还是采用订阅方式更好,在这种方式中,您的用户每月支付固定金额来下载一些文章。您可以有不同的层级,例如基本、高级(无限下载)等等,并控制从您的服务器发送的文章。这取决于你,但对我来说答案很清楚。

【讨论】:

  • 谢谢,这或多或少回答了我的问题。我不知道他们只允许 10000 种产品!订阅也不是我们可以使用的模型。实际上,这些故事只是我在问题中提出的一个类比(因为 NDA 和产品概念保护)。实际产品有所不同,在订阅模式中没有意义。
【解决方案2】:

普里坦

对于交付动态内容,您应该使用订阅,而不是消耗品。使用订阅可以让您为每次更新收费并同时分发新内容,从而解决您的问题。

您可以研究 UrbanAirship 等 3 方服务,这将显着减少您尝试动态交付内容、跟踪订阅和到期等所花费的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多