美文网首页IAP项目相关iOS学习笔记
iOS 内购IAP 2017年最新填坑

iOS 内购IAP 2017年最新填坑

作者: mysteryemm | 来源:发表于2017-01-01 23:34 被阅读3659次

    时间如白驹过隙,一晃又是一年。
      本打算效仿某些知名人士写个年终总结,总结过去、展望未来,发篇辞旧迎新的“深度好文”。随后一想,还是算了吧。一是文采有限,高质量文章写不来;二是毕竟还没到那个level。
      对于总结?我想说:有些事情不必说、不能说也无需说,放在心里,时间久了,自然就成了故事。
      对于展望?我想说:如果真打算完成某些计划、实现某些目标,不必声张,只管默默地努力就好。


    回到本文主题,最近项目在集成IAP功能,开始之前,浏览了Apple的官方文档,也看了大量的国内教程,推荐这篇博客,写得很详细,按照教程一步步操作即可。然而,虽然参阅了很多资料,但是对于第一次没啥经验的我,还是会踩坑。遇到一个主要的问题就是,请求商品时,返回的商品ID是无效,我一直在纠结这个问题:
    Why are my product identifiers being returned in the invalidProductIdentifiers array?
    于是又翻阅了Apple文档,当我看到与** invalidProductIdentifiers**相关的讲解时,真的是人生又充满了希望。苹果给的解释如下:

    Invalidate.png

      共八种情况可能导致该问题的发生(其中倒数第二条只针对非消耗型商品,而本人项目是消耗型商品,所以可忽略该条)。大概意思就是说:

    1. 使用了带有通配符(*)的App ID。(这个问题很好排查,去ITC看一眼即可)
    2. 最近提交的二进制文件被拒或者自己撤回。(修改App为准备提交状态即可,最好在ITC删除被拒的二进制文件,不上传二进制文件也可测试IAP)
    3. 没有清除ITC上在出售的IAP商品。
    4. 没有使用与App ID相关联的描述文件来签名App。
    5. 你可能更改了商品,但是还没有在AppStore服务器生效。(大概会等几个小时吧,具体不是很清楚)
    6. 还没完成所有的金融需求。(我最初的理解是:协议、税务和银行业务没有填写完整,也许是我理解错了->_->,接着往下看,一会还会Block到此处)
    7. 针对非消耗型商品,本人没仔细研究,感兴趣的童鞋可以点这里了解
    8. ITC上的商品ID和代码里的不一致。(对比一下即可排查)

    协议、税务和银行业务,我已经填写完整并提交审核,只不过status显示为:processing,所以按我当时的理解,上面的第六条情况也排除了,另外的七种情况也排除了。但是商品ID仍旧是无效的,导致返回的product数量为0。
      只好翻阅官方文档并Google,但是并没有得到一个比较肯定的答案,甚至看到一个博客说,即使status == processing也不影响IAP测试,于是,我真特么信了。直到今天晚上(2017-01-01),协议、税务和银行业务的状态才审核通过(2016-12-28填写的),status变为Contract In Effect,商品请求成功,IAP测试成功。Block(@"上面的第6条");
      所以,IAP可以测试的必要条件之一:Contract In Effect。

    相关文章

      网友评论

      • df7fa75b0524:博主你好,协议税务和银行业务那里我们通过了,沙盒测试可以获取产品信息,但是上线后无法获取到产品信息了,请问下是什么原因呢
      • d23a7a220c12:先退后付,全网最低百分之20佣,VX:tianyoualong 友情提示,不要自己尝试退,一旦失败后续非常难成功了
      • d23a7a220c12:先退后付,全网最低百分之20佣,VX:tianyoualong 友情提示,不要自己尝试退,一旦失败后续非常难成功了,而且也不是充多少就退多少,具体要看你的消费情况
        d23a7a220c12:请看仔细了
      • weicyNO_1:大神想请问一下。我新添加了一个内购项目。如果项目中想获取这个项目用不用再次提交新版本。现在版本中模拟器跑真实环境能请求到数据。appstore中下载的请求不到产品。是什么原因?必须提交新版本吗?如果必须提交新版本中,新版本中没有添加内狗项目是不是不用添加
        辉_行者孙:您好,请问您的问题解决了吗? 如果之前版本已经集成内购,增加新的内购项目,需要更新版本吗?
        weicyNO_1:@心董儿 我是这么做的,后台返回产品id,我直接调用产品ID。别的都不变。我之前是分别提交的新版本包和内购项目。提交时没有注意点击添加内购买项目。现在两个都已经审核通过。现在该怎么办
        mysteryemm:@weicy00线上版本中没有内购相关代码是不行的,需要将相关代码添加到项目中然后更新版本
      • 小猴_2f5f:职业代退,,342043530 不要密码, 成功收费
      • 小猴_2f5f:职业代退,,342043530 不要密码, 成功收费
      • 承接iOS各类手游退款:接一切难度ios手游内购退款 先退再付 V: ios00tk
      • 洁简:是的,真是巧了,同样时间填,同样时间过,,以后还会有很多坑,
        mysteryemm:@洁简 哈哈:smile:

      本文标题:iOS 内购IAP 2017年最新填坑

      本文链接:https://www.haomeiwen.com/subject/umiivttx.html