我通过为可购买内容做一个简单的plist + zip文件下载来实现此目的。 plist有一个可用的产品清单。每个版本的应用都有一个plist文件,因为在我的情况下,根据用户的版本,内容有时会有差异。
该方案还支持个别内容项目的版本控制,因为有时您想更改商店中的某个项目。
我不遵循Apple的购买指南 - 然后下载。我做下载购买解锁。我对购买内容的人感到很紧张,然后不得不等待下载。 (我的内容文件非常大)。
下面是它如何工作的:
- 应用软件下载的.plist本身。 (MyApp_2.1.plist)
- 打开.plist,查看每个内容项目的版本。假设应用程序目前拥有版本1的内容A和版本5的内容B.上面的plist文件告诉它,当前店面应该有版本1的A,版本6的B和版本7的C.所以应用程序下载B和C的内容。
- 内容存储在一个zip文件中。就我而言,这些是具有XML文件,音频和图形内容的游戏级别。还有一个包含该游戏关卡元数据的.plist,其中包含版本号和该项目的AppStore ID。该应用解压缩内容,然后将其作为锁定项呈现在店面中。如果用户已经购买了它,那么他们会自动获取更新的内容。如果他们购买它,那么我在那个时候解锁内容。
这很简单,可以使用任何CMS(甚至基于文件的纯Web服务器)完成,并且支持多个版本的应用内容的多个版本。
如果您想查看UI,我为此操作的应用程序是名为Lexitect的游戏,您可以从UI透视图中看到它是如何组合在一起的。 (它是免费的)
我也有兴趣! 我可以说的一件事是,我们使用Amazon AWS CloudFront将大型内容文件无线传输到我们的应用程序客户设备 - 也许是一个难题? – makdad 2010-07-18 14:45:37