关于Apple iOS IAP应用内置付费设置的一些心得!

iOS IAP应用内置付费好处多多,第一次植入问题也是多多!

开始加IAP的时候,习惯性的上网找同行写过的经验文章参考,Apple官方文档看着就头疼,找了一篇http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/,看似写的很完整,跟着一步一步做,结果最后request product的时候一直返回Invalid ID!开始在iTunes Connect上折腾,传了删,删了传的辗转了好几次,各种设置调来调去,各种search结果看了又看,最后总算是搞定了,也写点自己的心得吧。

虽然我说Apple官方IAP文档,iTunes Connect开发文档看着头疼,但最后找到的一篇官方TN技术Note看着还是不错的,不是很繁琐,而且提到的点都是比较重要的,传送门:https://developer.apple.com/library/ios/#technotes/tn2259/_index.html,建议第一次尝试IAP的朋友都好好看看。

首先,iTunes Connect上的Contracts, Tax, and Banking 部分信息一定要填写完整,并且确认Contract Type为iOS Paid Applications的协议已生效,就是位于Contracts In Effect中(默认只有1个iOS Free Applications生效)。这块本人的遭遇是:一开始App创建完了,发现根本没有Manage In-App Purchases选项,记得此时上面有黄色的警告提示说没有生效的iOS Paid Applications协议,然后就去request了一下,也没完成需要的3项具体信息,发现警告没了,管理选项也有了,就没再管(最后一直的Invalid Id应该就是这个原因,所以这里一定要完整处理且生效,具体可以参考上面的TN)。

其次,就是一些比较常规的事项了,像不能用带*的App ID,必须用对应的Provision等,这块纠结了很久的是第一篇教程上说一定要submit一次binary,然后立刻developer reject才能test IAP,这里我折腾过很多次,最后认为完全不需要上传,否则apple也太2了,程序还没做完,想测试还非得上传一下,这点TN里写的也很清楚,说程序没完成一定不要上传,给他们评审找事等等,blah,blah,blah,而且这里TN写了个不是很事实的东西,就是说一旦错误的上传了未完成的bin,最后不管是被apple reject还是开发人员自己reject了,就都不能再sandbox test IAP了,必须得想办法上传一个review能过的bin,才能接着测,而事实是我现在的app一直是大红灯的developer rejected,IAP的item一直是waiting for review,照样可以测。这里可能要注意的就是iTunes Connect上的app里要勾上已经填好的IAP产品,产品本身的cleared for sale我想应该都会勾吧。顺带一提,关于submit bin的操作,网站上说要下个什么程序上传,第一篇文章里说是网页上有上传选项(这个是老版本的了估计),其实不用这么麻烦,xcode(我用的4),里直接给项目进行archive,然后在Organizer里找到刚才的归档直接submit app store就可以了,会提示你输入iTunes Connect账号的,注意这部build一定要把release项的签名设置成dist版的,或者能让xcode自动选择到dist版证书也行!

UPDATE1:发现部分设备上依然会出现Invalid ID问题,一样的代码,一样的Provision,就是有些不行的机器,怀疑是越狱的原因……

UPDATE2:找了几部同事的机器试了试,80%是越狱的问题了,凡是有cydia的,都是Invalid ID,4.3.3系统的iphone4 touch4和ipad1均是如此,但有一个越狱的iphone4没有cydia,测试就可以正常sandbox购买。

UPDATE3:又经过了几次不同条件的测试,已确认是cydia装了AppSync导致的IAP sandbox不能问题,越狱可以、装cydia也可以,但是不能装AppSync,装了就会导致IAP沙盒测试失败,估计是影响了Provision Profile所致…

博主友情提示:

如在您的评论中需要提及如QQ号、微信号、电子邮件地址或其他隐私敏感信息,欢迎通过>>博主专用加密工具v2<<加密后发布,原文只有博主可以看到。