我理解,对于应用内购买,我向商店发出请求,然后应用加载用户界面,用户点击"购买"并购买,然后应用程序提供它。
这是关于第一步的问题:发出请求。
对于我的游戏,我正在制作IAP,以便以1.00美元的价格删除广告。
我的困惑在于产品标识符。在这种情况下,我无法使用我的Bundle ID,因为它包含连字符。我该怎么办?反向域名?任何字母数字标识符?
我尝试在iTunes Connect和我的代码中使用类似noads
的内容,但这会返回无效。
我会使用com.example.noads
吗?
与我的困境有关的其他一些信息:
答案 0 :(得分:1)
确保您的销售合同生效。它一直将标识符返回为无效,直到我设置它为止。
答案 1 :(得分:0)
在产品标识符中,您在整个Apple系统中放置了一个唯一的字符串。我们的想法是设置一个标识符字符串,而不仅仅是1
或53e31xp
这样的ID。
在我的特定情况下,我使用反向域结合描述产品的子集,例如:com.mydomain.myapp.mycategories.myproduct
修改:请注意,创建 IAP 后,您可能需要等待几个小时才能在提出请求时将其作为有效产品返回
答案 2 :(得分:0)
您是说您实际收到的SKProductsResponse包含invalidProductIdentifiers字段,其中包含您随请求一起发送的ID?
如果是这样,我会使用您在ITunes Connect中设置的相同字符串仔细检查您是否真的。
如果检查出来,问题可能在于您的测试用户。您可能只能通过iOS从您的应用启动的对话框登录,不要使用应用外部的测试用户登录,就像在应用商店应用中一样!如果您这样做了,那么您的测试用户将变得无用,您需要创建一个新的测试用户。