您的位置:首页 > 移动开发 > IOS开发

ios应用iap相关

2013-11-11 19:10 288 查看
做了一遍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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  app iap ios app store