RoboVM已经很好地支持IOS,但之前还不能实现支付。所以你会发现早期的(事实上是两个月以前)RoboVM主页上的App都是免费的。最近有个第三方的开源工具包robovm-ios-bindings不但可以实现IOS内购,还添加了adcolony、facebook、gamecenter、mopup、google play等主流SDK的支持,并且已经有项目很好地集成了。
首先这个工具库依赖nightly版本的RoboVM,我目前使用的是0.0.8,而最新的RoboVM发布版是0.0.7,所以你要在Eclipse里用这个地址更新nightly版本:http://download.robovm.org/nightlies/eclipse/site.xml。
下面我简单讲一下如何在Libgdx的IOS项目中实现内购,期间涉及了很多App证书,签名,认证方面的流程,给予没有接触过IOS开发的朋友作为借鉴,如果之前做过IOS开发可以直接跳过。
计费点测试前需要的申请流程:
1. 在开发者中心,创建发布AppStore的iOS Certificates (Production),MAC电脑中要安装此证书,如图:
2. 在开发者中心创建IOS App ID,务必包含以上证书。并确认该App开启了内购,如图:
3. 在开发者中心创建包涵此App id的Distribution Provisioning Profile,完成后状态会变成Active,下载到MAC电脑导入xcode,如图:
4. 登录itunes connect,选择manage your apps,创建产品,包括填写语言,游戏类型、分级、上传图标截图之类的,这里的Bundle ID一定要选择与刚才创建的APP ID相同。
5. 进入创建好的app详情中,选择manage In-app purchases,创建计费点。
6. 先在xcode的Preferences中的Accounts中确认发布证书,最好保持只有一个Distribution Provisioning。然后使用Distribution Certification和 Provisioning打包IPA(因为第7步会验证签名,所以必须用Distribution)
7. 使用xcoder的Application Loader工具提交ipa。
8. 首次创建In-app purchases,app状态必须是waiting for upload才能测试内购。进入app的view details,点击binary details,点击右上角的reject this binary,返回app detail,修改IAP选项绑定计费点。完成后,再点击ready for upload即可测试计费点。此时计费点变成waiting for review状态,如图:
9. 测试IAP前,记得绑定好银行卡和税务信息等内容,不然product count = 0
10. 使用Developer证书打包IPA即可在机器或模拟器上测试内购,Developer证书创建方法和第一步差不多。
11. 如果要测试购买,可以在itunes connect中创建测试帐号,用此帐号测试购买功能就不用花钱了。
使用Robovm Bindings编码计费点流程:
1. 下载BlueRiverInteractive中的in-app-purchase工程。
2. 在Libdgx的IOS工程中,修改obovm.xml,在frameworks属性中加入:
<framework>Foundation</framework>
<framework>StoreKit</framework>
3. robovm.properties中设置与IOS开发中心一致的appid。
4. 导入in-app-purchase工程,进行编码。
5. 开发流程:从苹果取得计费点信息,支付时使用对应计费点信息发送购买请求,在请求的回调方法中处理购买成功、购买失败的逻辑。
6. 发送支付请求以后,如果连接成功,支付框架会实现相应的界面,提示用户完成操作,如图:
示例代码:
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。