实施多个耗材应用内购买

时间:2013-08-15 19:23:49

标签: ios objective-c in-app-purchase itunesconnect

首先我尝试了各种教程,但他们只展示了如何获取购买信息并将其显示为桌面视图然后让购买工作,此外这仅适用于非消耗品或一种消耗品。根据上图,我在XiB创建了这个,并且只想在用户点击按钮时启动消耗品购买。我不想从iTunes Connect获取购买信息然后显示它,因为我已经离线显示它。

我已经在iTunes Connect中创建了应用ID和应用,并创建了5个应用内购买。 (按照下面的图片。)我希望按钮可以调用这些按钮。有没有人有任何建议?

2 个答案:

答案 0 :(得分:2)

我没有使用消费品购买的经验,但我不认为存在很大差异。我希望,您已经阅读过Apple In-App采购编程指南:http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1

那么,你的问题是什么?如果您需要在一个viewController中显示多个产品,则需要为每个产品选择一个带有productIdentifiers(字符串,对应iTunes中每个产品唯一的字符串)的列表。您可以对这些productIdentifier进行硬编码,或者更好的是,如果您使用的是服务器,请求它们(因为,如果您对productIdentifier进行硬编码,然后添加/删除/编辑产品及其productIdentifier更改,则您需要为您的应用发布新的补丁。)

要显示每种产品的实际信息(价格,名称),您需要申请。您可以通过创建SKProductRequest(针对每个产品)并将其添加到您的paymentQueue来实现。你会得到回应的价格。如果你不想 - 甚至不在你的viewController中显示该产品,因为该产品有问题。

要显示离线产品,您可以实施一些缓存。可能它看起来不错,但显示"购买"是否有意义。如果您离线,按钮?

您的viewController中的每个产品可能都会有某种单元格。在这种情况下,当用户点击某些单元格时,确定要使用哪个productIdentifier应该不是问题。

之后该怎么办?恕我直言,它在Apple的指南中得到了很好的描述。

如果您需要更多帮助或更具体的问题,请发表评论或修改您的问题。

P.S。请注意:在iOS 7中,使用应用内购买时会有一些变化。无论如何,您可以在http://developer.apple.com/library/找到所有信息。

P.P.S。查看此帖子:https://meta.stackexchange.com/questions/182266/how-much-research-effort-is-expected-of-stack-overflow-users/182380。我希望你知道,我的意思是:)你可以尝试在#iphonedev @ irc.freenode.net找一些帮助。并再次搜索和搜索。祝你好运。

答案 1 :(得分:1)

需要通过SKProductsRequest获取产品信息,因为您需要和SKPayment实例进行购买,而SKPayment只能使用现有的SKProduct创建,而不仅仅是productIdentifier字符串。

即使用户离线,您也可以使用本地缓存向用户显示显示价格 Apple强制您在每次用户尝试时获取产品信息购买

无论如何,获取产品信息不是问题。

如何存储productIdentifiers的一组/数组?阅读我之前的回答。