这里不说如何添加内购项,代码如何实现,网上的资料一大堆,写的都很全面。但初次接内购,没有太多经验,总会遇到:明明配置好了,怎么还是无法购买;明明代码加了,怎么还是失败。其实测试内购只要保证以下几点,测试就很顺利。
1.开发者后台配置好内购项
2.开发者后台配置好银行信息
3.苹果可能在你不知情的情况下更新了一些协议,需要登陆开发者账号同意
4.开发者后台配置沙盒账号。
5.用开发证书出profile文件或者发布证书的adhoc出profile文件,并且测试设备的id添加进profile文件里。
6.一定要用测试设备安装,测试前退出测试设备原有的strore账号,保持未登陆状态
7.代码打log查看请求商品列表传入的内购id是否正确
只要做到以上几点,测试就很顺利。在以后的问题都是代码的问题。
另外说明一下后台配置的内购id没有固定规则,填1,2 。。。之类简单数字也没有问题,建议填写一些有意义的字符串,如money60,money998 。。。内购项在提审后,内购id不能随便改动类型,比如把消耗类型改为非消耗类型,所以在配置过程中,仔细检查,否则觉得不合适想改只能重新建一个新的id了。
还有ios内购成功代码需要finish这个订单,考虑到验证订单安全性,验证订单的部分应放到服务器端,验证成功通知客户端finish订单,并且发货。由于苹果服务器分正式服和沙盒服(正式发布之前都是用沙盒服)。服务器端验证的话建议两端都做验证,哪个验证成功都可以认为成功,服务器也能做沙盒环境和正式环境的判断。