怎么让你的BlackBerry 10应用挣钱?

 

怎么让你的BlackBerry 10应用挣钱?

(理论篇)

 

如果你开发了一款应用的话,黑莓世界商店可以让你的应用程序发布在170多个国家

超过8000万的用户面前,那我们怎么让一款应用来利用好这“天赐良机”呢?

 

BlackBerry 10的SDK,无论是Air SDK还是HTML5(WebWorks)亦或是Native SDK,都提供了相应的API来帮助我们,让我们的应用更好的市场化,货币化。

 

总的来说,BlackBerry 10平台至少有两种方式可以让我们的应用获得收入。

一,许可模式

二,应用内购买模式

 

许可模式

所谓的应用许可模式,就是我们在发布应用的时候所选择的应用发布许可模式

我们在vendor portal的页面,如下图

可以看到license type有三种类型

Free(免费):如果你的应用发布为免费,那么用户下载就可以不用付钱给你的,那这样的话,开发者怎么挣钱呢?

我们可以通过广告来挣钱,BlackBerry 10有提供Advertising Service来给开发者使用,让开发者轻松使用广告这个组件来让免费应用程序挣钱,具体怎么使用Advertising Service我们会在以后的章节来详细说明。

 

Paid(付费):只要有用户下载你的应用,你都会得到相应的收入。

Subscription(订阅):这种模式,开发者可以让自己的应用处于付费或者免费的状态。

通常做法是这样的,应用程序在初期是免费的或者以较低的价格来出售,等过了设定的时间后,应用程序变为收费或者提高价格,它允许我们设定的周期为7天或者30天。

 

二,应用内购买

黑莓世界可以允许我们为一个应用程序发布数字产品(虚拟物品),BlackBerry 10 SDK提供的Payment Service可以让我们购买这些数字产品,通常很多应用程序或者游戏都是以这种免费增值的方式来吸引用户的。

我们见到过很多游戏都是这样的,很多游戏的前几个关卡是免费的,如果你想继续玩后面的关卡,就需要付费,或者游戏有出售道具,提升技能,都需要要购买虚拟物品。

一些应用程序附加的一些特殊特性也是需要另外付费的。

 

要让我们的应用程序支持内购买,我们需要做三方面的事件:

1, 首先在vendor portal 页面我们需要为应用或者游戏添加电子产品,如下图

电子产品的类型也有三种,分别是

1.  Non-Consumable 物品只可以购买一次   

2, Consumable 物品可以反复购买

3, Subscription 订阅模式

 

2,第二件事情,就是我们要通过BlackBerry 10 SDK的Payment Service API来给我们的应用程序添加购买或者订阅的代码

目前BlackBerry 10的所有SDK都有Payment Service接口

Cascades    PaymentManager

Native Core BPS event(payment.h)

AIR         PaymentSystem

Android     MarketBillingService

HTML5       Payment

这些SDK都有提供购买物品,查询之前购买的记录,查询订阅是不是有效,取消订阅,

查询物品价格等API。

 

3, 测试应用内购买的方法

目前测试购买有三种方法

local mode (本地测试)

Payment Service都有提供接口来让我们设置模式为测试还是发布状态

Cascades       

PaymentManager::setConnectionMode(PaymentConnectionMode::Test)

Air

paymentSystem.setConnectionMode(PaymentSystem.CONNECTION_MODE_LOCAL) 

本地测试只是模拟购买行为,并不是真正的购买

 

 

 

Sandbox Testing(沙盒测试)

1, 我们需要先建立为用户建立一个沙盒账号,

登陆vendor portal页面,点击“sandbox”,点击“Add New User”添加沙盒账户

 

 

2, 将你的BlackBerry 10开启开发模式,打开BlackBerry World应用,从设备顶部向下轻划设备,会出现如下页面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3,  点击“设置”按钮,会出现以下界面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

点击“开发模式”会出现以下界面

 

应用的在线测试

等待应用被审核通过,我们可以在线测试,这是真实的环境测试

 

如何提高应用的知名度

为了让我们的应用更容易被别人搜索到

我们还可以从以下方面对应用进行改进

1,让应用支持BBM,据数据统计每个月有6000万个活跃用户,其70%BBM用户每天都使用BBM,20%下载BBM 应用。

2, 让应用本地化,就像我们之前所说的那样,黑莓世界可以让你的应用出现在150多个国家的用户面前,所以我们的应用如果支持多国语言,我们的应用一定会被更多的人下载。

 

实战篇(一)

AIR应用内购买

 

Air SDK 是怎么处理购买的?

BlackBerry 10 SDK让我们可以使用支付服务,处理所有用户在BlackBerry世界商店进行购买的事件。Air SDK提供了net.rim.blackberry.payment package来创建实例进行购买数字产品,提供了net.rim.blackberry.events来进行购买事件的处理。

的net.rim.black可以让我berry.events包包含事件,让听你的应用程序购买成功或不成功。

下面我们简单介绍一下怎么创建一个应用用payment service

1.  首先我们使用Flash Builder 4.6来建立一个testPayment的actionscript 3.0手机项目

2.  在程序里面导入我们需要的头文件

3.  声明PaymentSysetm 对象,和其他一些程序需要用到的变量

4.  在构造函数里面添加购买相关的事件监听和设置应用程序的测试界面setupTestUi();

 

5,在purchaseHandler 函数里面, 调用paymentSystem.purchase()来进行购买

购买的参数只传递SKU即可

 

6,处理购买成功purchaseSuccessHandler(event:PaymentSuccessEvent),处理购买失败purchaseErrorHandler(event:PaymentErrorEvent)

 

处理购买成功的事件,显示购买成功的详细信息

处理购买失败的事件,显示失败的ID和错误信息

 

 

7,获取用户之前的购买记录

用户之前的购买记录会保存在本机和服务器上,当用户请求购买记录的时候,程序会发送一个要求获得之前本机所有购买记录的请求。

paymentSystem.getExistingPurchases()

参数为true or false

true是从服务器获得记录

fasle 从本机获得记录

 

8, 查询虚拟物品的价格

流程同上,只是我们需要用

来做查询。

用paymentSystem.addEventListener(PaymentSuccessEvent.GET_PRICE_SUCCESS, getPriceSuccessHandler)和paymentSystem.addEventListener(PaymentErrorEvent.GET_PRICE_ERROR, getPriceErrorHandler)来做监听处理

9查询订阅的有效性

取消订阅

 

具体测试代码请从以下链接下载

http://pan.baidu.com/share/link?shareid=554583&uk=1798728528&third=2

 

 

 

 

 

 

Native Core应用内购买

 

Native Core的购买流程和Air的流程大同小异,Native Core是使用bps event去监听,使用payment.h提供的API去实现的。

具体流程如下:

1, 在使用payment API之前需要初始化bps,bps_initialize(),之后你就可以使用

Paymentservice_request_event()来接受payment事件。

2, 设置连接模式paymentservice_set_connection_mode(),参数true为本地模式,false为网络模式,默认模式为网络模式,在应用程序发布的时候应该设置模式为网络模式。

3, 创建数字产品的属性参数paymentservice_purchase_arguments_create(&args);

以及为参数附值

paymentservice_purchase_arguments_set_digital_good_id(args, "ID-Digital-Good-1" );

paymentservice_purchase_arguments_set_digital_good_sku(args, "SKU-Digital-Good-1");

paymentservice_purchase_arguments_set_digital_good_name(args, "Digital Good 1");

同Air SDK一样只有ID和SKU之一是必须的,其余可以不设置。

4, 发送购买请求paymentservice_purchase_request_with_arguments()

5, 响应购买事件

if (bps_event_get_domain(event) == paymentservice_get_domain()) {
        if (SUCCESS_RESPONSE == 
           paymentservice_event_get_response_code(event)) {
                if (PURCHASE_RESPONSE == bps_event_get_code(event)) {
               ...
  }
        }
     }
}
PURCHASE_RESPONSE是对购买请求的响应
GET_EXISTING_PURCHASES_RESPONSE是对查询之前购买记录请求的响应

 

具体测试代码从以下链接下载

http://pan.baidu.com/share/link?shareid=554602&uk=1798728528&third=2

 

Cascades应用内购买

Cascades payment service用到的主要API有如下这些:

查询价格

const PriceReply *reply = PaymentManager->requestPrice(id, sku);

 

购买

const PurchaseReply *reply = PaymentManager->requestPurchase(id, sku, name,metadata);

 

订阅

const SubscriptionTermsReply *reply =

PaymentManager->requestSubscriptionTerms(id, sku);

 

取消订阅

const CancelSubscriptionReply *reply =

PaymentManager->requestCancelSubscription(purchaseId);

  

查询以前购买记录

const ExistingPurchasesReply *reply = m_paymentManager->        requestExistingPurchases(refreshFromServer);

查询订阅是不是有效

SubscriptionStatusReply::isActive()

 

HTML5和Android的购买订阅流程,在这里兄弟就不多介绍了,都是大同小异的东东

 

最后关于购买,本人在做的过程中遇到的一点小问题就是

如果要查询购买之前记录,一定记得要把产品发布后,购买的记录才能被查询到

本地测试和沙盒测试都不管用,请知悉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值