【问题标题】:IAP - can fetch free subscription products but not paid productsIAP - 可以获取免费订阅产品但不能获取付费产品
【发布时间】:2014-01-31 19:37:49
【问题描述】:

我正在试验 IAP,并已将一些测试产品添加到 iTunes Connect。

但是,我发现使用 SKProductsRequest 检索产品的调用仅在产品类型为“免费订阅”时才成功,例如,如果我创建类型为“消费品”或“非更新”的产品,那么他们的产品id 在 SKProductsRequest.invalidProductIdentifiers 而不是 SKProductsRequest.products 数组中返回。

为什么我不能检索付费产品但免费订阅的可以?

(应用尚未提交到应用商店,iTunes 连接应用帐户及其产品和设备已根据 Apple iAP 测试文档https://web.archive.org/web/20171108103850/https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/TestingInAppPurchases.html 进行设置以测试 IAP)

【问题讨论】:

  • 您是否检查过您尝试测试的 IAP 产品的状态?
  • 所有产品的状态,工作和非工作都是一样的,都是“等待截图”。这是测试产品的正确状态。所有这些也都可以出售。
  • 确保仔细检查您的产品标识符,它可能就这么简单
  • 不是这样的。我尝试将 iTunes 中的产品 ID 直接复制/粘贴到代码中。我也尝试过使用像“a”和b“这样简单的产品ID,这样就有可能输入错误。

标签: ios in-app-purchase


【解决方案1】:

我有一个包含非续订订阅 IAP 的应用,我能够在提交应用之前测试付费订阅。所以这是可能的。这里有一些东西可以尝试。

  1. 打开设置应用
  2. 转到 iTunes 和 App Store
  3. 退出您的 iTunes 帐户,不要在此处登录任何帐户
  4. 运行您的应用
  5. 启动 IAP
  6. 如果系统提示您输入 iTunes 帐户,请使用 iTunes 连接测试帐户登录。

我不确定这是否会阻止付费 IAP 获取。您必须执行这些步骤才能在调试版本中购买付费 IAP。

请确保您永远不要在设置中使用您的 iTunes 连接测试帐户登录,并且您仅在应用中出现提示时才使用它登录。

文档:https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchase_transactions

【讨论】:

  • 感谢您的回复。但是我之前已经完成了这些步骤。
  • 那我不确定。您要确保连接到沙盒 IAP 环境而不是生产 IAP 环境。使用沙盒 IAP 后,我不记得做过任何其他“特殊”操作来使其正常工作。
  • 在调用 SKProductsRequest:start 以获取产品 ID 时,如何连接到沙箱而不是生产环境?
  • 您按照上述说明连接到沙盒 IAP。基本上,您不想登录到 iTunes 帐户并运行使用 dev 或 ad hoc 配置文件签名的应用程序。
  • 与沙盒/非沙盒的连接仅在购买时发生。我在上面的评论中提出的问题是在调用 SKProductsRequest:start 时没有明确调用 url,也没有用户登录任何 iTunes 帐户。因此,该应用无法控制 SKProductRequest 的沙盒/非沙盒。
【解决方案2】:

您是否接受了 iTunes Connect 中的合同?他们有 2 种不同的免费应用程序和付费应用程序合同。

如果您想提供付费内容,您需要在 iTunes Connect 中接受合同。

【讨论】:

  • 接受合同对于测试来说是不必要的(根据我看到的多个来源)。是的,这对最终产品是必要的,但这不是测试阶段的要求。但是,我已经用尽了所有其他选项,因此可以尝试将此作为最后的手段(但几天内不会有机会)。
猜你喜欢
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 2017-12-03
  • 2019-07-29
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
相关资源
最近更新 更多