5

关于应用内购买,我可以找到很多关于实际购买和与商店交互的所有技术信息(如何检索产品信息、验证收据等),但我似乎找不到关于指南或准备实际“应用程序”或“组件”的特殊说明,无论它们要考虑什么,它们都将充当应用程序内购买。

例如,一旦一个组件被下载到一个应用程序中,它在应用程序的整体架构中存在于哪里?他们是如何结合起来的?他们怎么知道彼此。如果我有一个游戏,并且使用应用内购买,我允许用户下载新关卡,但也下载可能影响任何内置或下载关卡的新游戏模式,我如何准备所有这些资产,以便他们整合?

我本身并不是在寻找教程,但很想知道是否有人有过 In App Purchases 的经验,或者知道除了 Apple 的 In App Purchase 编程指南之外的有用参考资料,该指南只涉及进行实际下载的具体细节交易。

4

3 回答 3

3

您下载的东西并不是真正的“应用程序”,它们只是数据文件,就像您的应用程序可以下载的任何其他东西一样。

有时,它们并非真的如此,它们只是有效的“开关”,即所有功能和数据都已经存在于您的代码中,但它只是受到一行代码的保护,例如

if (user has purchased extra levels)
    add extra items to menu/list

不允许下载新的可执行代码;我承认我不确定 Apple 会如何谨慎地阻止您下载控制程序行为的脚本,因为他们很难分辨出您的原始应用程序的内在与否。

在我自己的程序中,我将控制逻辑和表格放入主应用程序中,并将大资源文件分离到单独的 ZIP 文件中。当用户购买附加包时,他们确实下载了图像的 ZIP 文件,这可以减小原始应用程序的大小,并且程序只使用文档目录中的这些图像,而不是像构建它们时那样使用应用程序包在。

我正在使用 Urban Airship 应用内购买支持,它使您无需运行自己的服务器或了解 StoreKit 的大部分详细信息,但会牺牲您的一部分收入。

于 2009-12-10T00:14:03.803 回答
0

您可以让关卡从一开始就在应用程序中,并在用户支付应用程序内关卡时让它们变得可用。这是迄今为止最简单的解决方案。

如果您想拥有可下载的关卡,您将需要设置一个自己的服务器,该服务器将交付并检查与苹果服务器的正确购买交易。您还需要创建所有下载和架构,以将这些关卡加载并使用到您的应用程序中。

但是,您可以在这里查看http://urbanairship.com/in-app-purchase/以获取有关创建可下载项目的帮助。

于 2009-12-10T00:11:34.890 回答
0

这段代码会让你开始:也可以在模拟器上工作:https ://github.com/boxerab/InAppPurchase

于 2011-02-25T00:55:13.027 回答