In App Purchase无敌攻略

本文深入探讨了苹果公司对于应用内购买的限制与推荐方案,详细解析了如何通过InAppPurchase将内容组合销售,并分享了实际操作中遇到的问题及解决方法。包括App ID的使用规范、产品购买流程、跨设备购买体验优化等关键点。

转载自:http://blog.liuhongwei.cn/iphone/in-app-purchase_tips/

前些天想把内容拆开买,apple却不允许了,而是推荐使用In App Purchase把内容组合到一起。

找到一个超详细的In App Purchase攻略

http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

苹果官方的IAP编程指南也可以参考。

做了个例子程序,可以明确的是:

app必须使用非通配符的ID。本来有几个程序是使用通配符的App ID,试了一下,不是返回invalid purchase,就是返回SKError:  Cannot connect to iTunes Stor。申请了一个新的唯一App ID,然后用于测试app,再申请一个IAP的product id,一切正常了。

测试中还看到device console中的一条错误信息,iTouch中的浏览器直接访问没问题,原因不明,网上也查不到,设置了一个代理服务器就不显示该错误信息了。后来又测试了一下,发现该消息不准确,取消代理服务器后,使用正确app id的app发送正确product id,一切正常。

Fri Jul 30 11:18:49 iPod-touch /System/Library/PrivateFrameworks/iTunesStore.framework/Support/itunesstored[4180] <Error>: URL: http://sandbox.itunes.apple.com/bag.xml?ix=2> Heuristics Failed, NOT PIPELINING

某product买了以后再买non-consumable的product,iTune会自动弹出消息,告知用户已经买过了但没下载,可以点击确定下载,点击确定后,iTune会给程序一个transaction complete的消息,然后界面会自动弹出消息,购买成功。所谓的下载应该指的是再次返回一个transaction complete消息,让app有机会处理购买成功。可见

  • iTunes会记录每个用户购买了哪些IAP product
  • 购买过还可以再次购买non-consumable的product,但iTunes不会重复扣钱,却仍会返回成功消息。

例子和教程上,正常的IAP流程是,发送product id列表,接受所有有效product列表;然后,用户购买某个product。但是,经过测试,用户可以省略发送接收有效product列表这个步骤,直接购买某个product,当然这样会有些风险,比如product被苹果移除了,但是正常情况下问题不大。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值