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);