BBOS实现程序内购(in-app purchase)

原创 2013年12月03日 14:46:03

程序内购是现在比较主流的应用付费模式,前几天看到了一篇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

iOS In-App Purchase 内购之测试内购产品

Testing In-App Purchase Products 您可以测试您的应用程序和应用程序内购买的产品不会造成金融交易。这是因为苹果公司提供了一个使用应用程序商店的基础设施测试环境,但不...
  • zzzzzdddddxxxxx
  • zzzzzdddddxxxxx
  • 2015年09月21日 16:59
  • 774

iOS In-App Purchase 内购之 问题总结

1、内购流程 1、在 AppStore 中创建相应的物品,创建内购沙盒测试账号2、客户端从后台获取相应的物品 ID (当然也可以再客户端写死,但后期扩展性就受限制了)3、依据相应的物品 ID 请...
  • zzzzzdddddxxxxx
  • zzzzzdddddxxxxx
  • 2016年11月18日 17:53
  • 2251

in-app Purchase (iOS内购)

in-app Purchase准备工作签订协议做之前需要先签订协议, 需要去 iTunes Connect [协议、税务和银行业务]板块签订协议,所以之前需要将资料准备齐全。包括银行账户,联系人等。创...
  • zhuge1127
  • zhuge1127
  • 2016年11月03日 17:45
  • 330

在Unity中加入IOS内购(In-App Purchasing)

编写 内购类,在需要的的地方调用相应方法。 using UnityEngine; using UnityEngine.Purchasing; public class InAppPurchasin...
  • yuecangjiao5151
  • yuecangjiao5151
  • 2017年07月18日 18:07
  • 403

iOS 苹果内购 In-App Purchase 踩过的坑

项目里面要接苹果支付,结果我研究了一个小时的apple pay,结果经理说是苹果内购,当时就感觉被耍了!好了,那就说说In-App Purchase这个吧,前面所有的准备工作经理做完了,我只是码代码,...
  • haha_hello
  • haha_hello
  • 2017年03月14日 17:03
  • 1712

Unity3D-5.5版本的IAP-IOS使用方式(In-App-Purchase)

关于IAP的设置问题,网上其实已经写了很多了,我也不多赘述,那么我在这里只写一些细节,特别是对于新手来说的那种。 第一步肯定是去iTunes Connect里面添加项目,并且设置商品: 现在苹果其实已...
  • pz789as
  • pz789as
  • 2017年04月17日 11:29
  • 5913

iOS 应用内购买(In-App Purchase)之开发

iOS 应用内购买(In-App Purchase)之开发
  • lxmy2012
  • lxmy2012
  • 2016年03月16日 16:25
  • 2010

iOS内购In-App Purchase

In-App Purchase
  • miaocuilin
  • miaocuilin
  • 2014年07月25日 16:00
  • 939

In-App-Purchase 中文版

In App Purchase Programming Guide 购买程序向导 Adding a Store to Your Application 向你的应用程序中添加商店 ...
  • chengkaizone
  • chengkaizone
  • 2016年04月15日 16:52
  • 651

【iOS】苹果内购调研

参考文章 官方文档 iOS开发内购全套图文教程 App Store上架指导 苹果不允许 iOS 应用内置购买(IAP)使用第三方支付方式,那么跨平台的电子书阅读器怎...
  • bluewindaa
  • bluewindaa
  • 2016年08月29日 16:42
  • 1399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BBOS实现程序内购(in-app purchase)
举报原因:
原因补充:

(最多只允许输入30个字)