无效的IAP商品标识

时间:2015-06-18 17:59:48

标签: ios in-app-purchase itunesconnect

我理解,对于应用内购买,我向商店发出请求,然后应用加载用户界面,用户点击"购买"并购买,然后应用程序提供它。

这是关于第一步的问题:发出请求。

对于我的游戏,我正在制作IAP,以便以1.00美元的价格删除广告。

我的困惑在于产品标识符。在这种情况下,我无法使用我的Bundle ID,因为它包含连字符。我该怎么办?反向域名?任何字母数字标识符?

我尝试在iTunes Connect和我的代码中使用类似noads的内容,但这会返回无效。

我会使用com.example.noads吗?

与我的困境有关的其他一些信息:

  • 我在iPhone 6上进行测试。我已经退出了iTunes和App Store。" (截图如下) screenshot
  • 我在代码和iTunes Connect之间使用相同的东西。
  • 我有一个测试帐户。我想在购买时我会签名。

3 个答案:

答案 0 :(得分:1)

确保您的销售合同生效。它一直将标识符返回为无效,直到我设置它为止。

答案 1 :(得分:0)

在产品标识符中,您在整个Apple系统中放置了一个唯一的字符串。我们的想法是设置一个标识符字符串,而不仅仅是153e31xp这样的ID。

在我的特定情况下,我使用反向域结合描述产品的子集,例如:com.mydomain.myapp.mycategories.myproduct

修改:请注意,创建 IAP 后,您可能需要等待几个小时才能在提出请求时将其作为有效产品返回

答案 2 :(得分:0)

您是说您实际收到的SKProductsResponse包含invalidProductIdentifiers字段,其中包含您随请求一起发送的ID?

如果是这样,我会使用您在ITunes Connect中设置的相同字符串仔细检查您是否真的

如果检查出来,问题可能在于您的测试用户。您可能只能通过iOS从您的应用启动的对话框登录,不要使用应用外部的测试用户登录,就像在应用商店应用中一样!如果您这样做了,那么您的测试用户将变得无用,您需要创建一个新的测试用户。