【问题标题】:In-App purchase server for iPhone AppiPhone App的应用内购买服务器
【发布时间】:2010-12-23 22:38:13
【问题描述】:

我的公司正在寻求为 iPhone 应用实施大规模的应用内购买模式。 我们最大的问题是我们不想使用像 Urban Airship 这样的服务,因为它不能很好地与我们的业务模型和应用程序本身的性质集成。

所以现在我们希望建立自己的服务器来处理应用内购买通信以及提供购买的内容。我们不会解锁应用中已经存在的内容,而是会下载相对较大的附加内容。

是否有任何好的资源可以用于了解有关服务器端组件的更多信息。我非常熟悉 StoreKit 的工作原理,但服务器端通信对我来说是个谜。

任何帮助将不胜感激!

【问题讨论】:

  • 我也有兴趣!我可以说的一件事是,我们使用 Amazon AWS CloudFront 将(大型)内容文件通过无线传输到我们的应用程序客户的设备——也许是其中的一部分?

标签: iphone web-services in-app-purchase


【解决方案1】:

我通过下载可购买内容的简单 plist + zip 文件来实现这一点。该 plist 有一个可用的产品列表。每个版本的应用程序都有一个 plist 文件,就我而言,有时内容会根据用户拥有的版本而有所不同。

此方案还支持单个内容项的版本控制,因为有时您想更改商店中的一项。

我不遵循 Apple 的购买后下载指南。我做下载-购买-解锁。我太担心有人购买内容,然后不得不等待它下载。 (我的内容文件很大)。

它是这样工作的:

  1. 应用自行下载 .plist。 (MyApp_2.1.plist)
  2. 打开 .plist,检查每个内容项的版本。假设应用程序当前有内容 A 的版本 1 和内容 B 的版本 5。上面的 plist 文件告诉它当前店面应该有 A 的版本 1、B 的版本 6 和 C 的版本 7。所以应用程序为 B 和 C 下载内容。
  3. 内容存储在一个 zip 文件中。在我的例子中,这些是带有 XML 文件、音频和图形内容的游戏关卡。还有一个包含该游戏级别元数据的 .plist,其中包括版本号和该项目的 AppStore ID。该应用程序解压缩内容,然后将其作为锁定项目呈现在店面中。如果用户已经购买了它,那么他们会自动获得更新的内容。如果他们购买了,我会在那时解锁内容。

这很简单,可以使用任何 CMS(甚至是基于普通文件的 Web 服务器)来完成,并且支持跨多个版本的应用的多个版本的内容。

如果您想查看 UI,我为该应用做的这个应用是一款名为 Lexitect 的游戏,您可以从那里从 UI 的角度看到它是如何组合在一起的。 (免费)

【讨论】:

  • 感谢克里斯,这是非常有用的信息。我们很快就会开始研究这方面的工作,可能很快就会有很多其他问题。
  • 太好了,很高兴它有帮助。请随时直接与我联系。 z 在 zworkbench dot com。
猜你喜欢
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多