程序内购是现在比较主流的应用付费模式,前几天看到了一篇BB10实现IAP的文章后,我决定也写一篇BBOS的相关文章,就算用来增加自己的经验吧
BBOS要实现IAP,只要遵循以下几个步骤即可:
1、在项目里添加支持IAP功能库文件(Payment SDK)
首先需要下载BlackBerry® Java Payment SDK,现在的版本是v1.8,下载后解压到一个目录,我放在了Eclipse的plugins目录下。
然后在Package Explorer视图里右键单击项目名称并选择属性菜单,点击第3步的按钮后浏览到上图的位置,选择paymentapi.jar并打开。
添加完成出现上图第4步的内容后记得在Order and Export选项卡页面里勾选paymentapi.jar。
下一步展开第4步的列表,选择Javadoc项目,点击右边的编辑按钮,再浏览到图1的目录选择javadocs文件夹,并验证是否可用。
最后,全部点击确定按钮直到回到Eclipse主界面。
2、登录到Vendor Portal for BlackBerry World增加虚拟商品(Virtual Goods)
登录并进入Vendor Portal后在首页点击Manage Products,然后点击产品列表右侧第二个加号。
根据自己的需要填写虚拟商品的相关内容,最后点Save按钮保存,后面的代码需要用到Name和SKU两项的内容,最好把它们保存为常量备用。
创建好虚拟物品后还需要提交发布,根据网站提示做就可以了,全部完成后就可以开始编写代码调用虚拟商品了。
3、在程序中增加购买虚拟物品的代码
布局代码略过,直接贴上关键代码吧。
public class AboutScreen extends PopupScreen implements redflowerResource { private PurchaseHistoryListingListener purchaseHistoryListingListener; private PaymentEngine engine=PaymentEngine.getInstance(); public AboutScreen() { ButtonField btnDonateTheAuthor=new ButtonField(getResString(MENU_BBWORLD_DONATE_THE_AUTHOR), ButtonField.NEVER_DIRTY | ButtonField.CONSUME_CLICK); btnDonateTheAuthor.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { if(engine!=null) { //check purchase history purchaseHistoryListingListener=new PurchaseHistoryListingListener() { public void error(String message, int errorCode) {Functions.errorDialog(message);} public void success(Purchase[] goods) { if(goods.length!=0) { String temp=getResString(DIALOG_TIPS_PURCHASED_LIST); for(int i=0; i
4、登录到Vendor Portal for BlackBerry World发布更新后的程序,并测试购买功能
首先创建一个沙盒测试账号。沙盒测试账号就是BBID的账号,因为我在模拟器上测试购买不成功然后改用真机了,所以这个测试账号就是手机绑定的BBID,不能填错了,否则会真的扣费的,切记!
然后按照正常步骤提交已经内置了IAP功能的cod文件,但是不用发布到BlackBerry World,保留Draft状态即可,就叫做测试版本吧。
★这里有一个小小的提示:因为IAP功能也需要多次测试才能最终发布,而每次发布测试版本都需要10分钟到n小时的等待同步时间,为了防止下载到错误版本的测试文件,所以最好每次提交cod的时候都更改一下程序版本号,这样就能有一个明确的提示信息告诉你下载的是否是最新版本的测试文件了。
★另一个小小的提示:在开始测试IAP功能之前,要先找到并记下你的程序的ID,以后每次更新测试版本的时候都要用到它。
从手机上打开BlackBerry World(这个手机必须绑定了BBID,而且这个BBID要和沙盒测试里的账号相同),先随便按一个按键激活搜索框(背景变暗),然后按住alt键再依次按tst,弹出“内容ID或SKU”的输入框,输入你的程序的ID并按确定按钮。
通过ID搜索到的程序无论你原来是否安装过,都显示下载按钮,而不会显示“删除”。
还要核对一下版本号,不要下载到过期的测试版本。我最后一次上传的版本就是0.1.4,核对没问题了就开始下载吧。另,如果提交的虚拟商品已经上架的话,下边就会出现“*包含要出售的商品*”字样。
下载安装完成后,就可以测试购买了,希望你们也一切顺利!~
详细内容请参考下列内容:
--------Payment Service SDK
--------Payment Service