【问题标题】:Implement multiple Consumable In-App Purchases实施多个 Consumable In-App Purchase
【发布时间】:2013-08-18 01:58:37
【问题描述】:

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

我在 iTunes Connect 中创建了应用 ID 和应用,并创建了 5 个应用内购买。 (如下图所示。)我希望这些按钮可以调用其中的每一个。有人有什么建议吗?

【问题讨论】:

  • 我为你感到羞耻,因为你在这里受到了抨击。从小处着手并解释您的第一个问题是什么,例如“您的消耗性 IAP 没有加载...”让我们一次帮助您解决一个问题,并从那里开始构建。这是互联网的大坏世界,您将面临更多令人沮丧的时期。一次一步的人:-)
  • 这就是我所说的:Apple 鼓励你使用[SKPayment paymentWithProduct:yourProduct]。而且,为此,您需要使用 SKProductsRequest :-)

标签: ios objective-c in-app-purchase app-store-connect


【解决方案1】:

我没有处理消耗品采购的经验,但我认为差别不大。我希望你已经阅读了 Apple In-App Purchasing Programming Guide:http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1

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

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

要离线显示产品,您可以实现一些缓存。可能看起来不错,但是如果您处于离线状态,显示“购买”按钮是否有意义?

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

之后该怎么办?恕我直言,Apple 的指南中对此进行了很好的描述。

如果您需要更多帮助或更具体的问题 - 请评论我的帖子或编辑您的问题。

附:请注意:在 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 寻求帮助。并再次搜索和搜索。祝你好运。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 那么坏小猪是怎么做到的呢? :mcdn2.angrybirdsnest.com/wp-content/uploads/2013/07/…
    • 可以显示用户价格,甚至像“100,000 hunderos of Millions”。但如果您想让他购买,您将需要从 AppStore 获取产品信息。他会在 AppStore 的弹出窗口中看到真实价格,比如“你想以 X.XX 美元购买 blablabla 吗?”
    • 嗯...我不明白,但我认为,如果你硬编码你的价格,Apple 会拒绝你的应用程序。
    • 如果迟早您需要索取产品信息,为什么不想在显示价格之前做呢?如果出现错误,您仍然可以显示本地保存的价格。
    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 2016-11-23
    相关资源
    最近更新 更多