1、appstore信息完善
首先肯定有一个可以发布产品的开发者账号,有一个可以运行应用的开发环境,IAP只能真机测试,我们必须有一台IOS设备。
我们进行的所有操作都是在mac上面进行的,测试都是真机。
在测试中我们肯定不希望真实的去付款,别着急,在开发者账号里面我们可以添加一个测试账号,简单方便,即就是沙河测试(SandBox)。
1.1 创建app ID
过程我就不废话了,网上随便就能搜到一大堆,新建的app ID默认是开启iap内支付的,如图
前期的准备工作跟不使用iap是一样的,在创建应用完成后,确保一切正确,建议先不添加iap测试一下,看项目能不能通过检验,万事俱备之后创建iap付费条目就行了。
1.1 创建iap付费条目
进入iTunse Connect,进入my apps,点击刚刚新建的项目,点击In-App Purchses,进入iap,如图
点击左上角的“Create New”来新建一个IAP付费项目,接下来的Select Type界面会有5中IAP类型可供选择。如图:
类型选择有四种选择:
1)Consumable(消耗品): 每次下载都需要付费;
2)Non-consumable(非消耗品): 仅需付费一次;
3)Auto-Renewable Subscriptions:自动订阅;
4)Free Subscription:免费订阅
如果类型选择中只有免费订阅,那说明我们的开发者账号没有开通银行卡支付功能。
一般我们游戏中需要购买金币之类的,就选择第一种Consumable,选择了之后就是这个样子的
选择中文即可,有人说中文不需要选英文的,最后保存就行了。
现在需要创建的付费条目已经完成了。
1.3 创建沙盒测试账号
在iTunse Connect中点击users and roles,进入之后点击sandbox testers
点击加号添加一个
选择app atore territory的时候,选择中国就行了,我们测试的时候弹出来的购买信息的文字会是你所选的国家的文字。创建完成保存即可。
2、iap接入项目
我封装好了所需要的东西,直接调用就行,代码里有注释。
在我们的项目中需要加入StoreKit.framework这个库
使用方法:
IOSiAP_Bridge* bridge = new IOSiAP_Bridge();
bridge->requestProducts(int);