ios应用iap相关

做了一遍ios应用的iap,感觉其中的过程有点复杂,遇到的问题比较多~故此写下本文来记录一下,防止遗忘。

一、关于iap的基本流程代码,可以参考:

himi写的:http://blog.csdn.net/xiaominghimi/article/details/6937097

子龙山人翻译的:http://www.cnblogs.com/andyque/archive/2012/01/15/2190193.html

两篇文章都有iap在itunes connect里面的基本设置的介绍,但是代码里面的东西相差就比较大,主要有两点

1.对商品的load

himi写的是针对单个商品的购买的时候load

而子龙山人的是对所有商品一起load

这里见仁见智吧,看自己需求哪种吧,我使用的是子龙山人的

2.对于商品load buy的过程

子龙山人的里面有使用hud来中断游戏的处理,himi的文章没有提及这一点,我相信在游戏中肯定自己处理了,只是文章没有提及。

这里我参考了子龙山人的文章,总体来说这些参考子龙山人的很ok~只是我觉得hud的关闭处理上没有完全与购买的流程完全契合,这里有一点遗憾,当然,这里涉及到网络的处理,所以难免会有些不足之处。

二、关于iap的验证

如果不添加iap验证,可能越狱的机器上安装个iap free就可轻松免费iap。所以这部分还是有必要的

1.实现iap验证的代码

这里参考了,himi的文章:http://blog.csdn.net/xiaominghimi/article/details/7439720

当然himi的文章里面提及了iap Cracker的防护方法,而对于iap free以及其他也只提及一下,没有给出具体方案。

这里给出一些参考的帖子:

http://blog.csdn.net/wby__2005/article/details/9961043 

http://www.freebuf.com/articles/wireless/5867.html (这篇比较全面,可以研究下)

2.沙盒测试/上线时的iap验证url设置

这里也是个坑

sandbox中验证receipt,url为

https://sandbox.itunes.apple.com/verifyReceipt

在生产环境中验证receipt,url为

https://buy.itunes.apple.com/verifyReceipt

如果你用自己的后台服务器,做验证,这里可以在程序里获取自己的后台设置的flag来决定使用哪个url。但是你可能不知道审核/发布的时候,具体使用哪个url

可以参照这个文章:http://blog.csdn.net/wby__2005/article/details/9961043 (上面已经贴过)

本人没有后台服务器,使用的是帖子里的一种方法:

status=21007

这里是一种取巧的方法,就是先设置url为生产环境,即https://buy.itunes.apple.com/verifyReceipt,如果获取得到的status==21007,就表明此时是sandbox,这时url设置为sandbox,再验证一次,如果status==0即验证通过~


其他参考的帖子:

http://www.freebuf.com/articles/wireless/5867.html

http://www.cocoachina.com/applenews/devnews/2013/0410/5970.html

http://www.cocoachina.com/bbs/simple/?t115964.html

http://www.dapps.net/dev/books/ios-dev-about-in-app-purchase.html

http://www.cocoachina.com/special/iap.html

http://blog.csdn.net/anypkv/article/details/11920733



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值