免费手机程序 靠广告吃饭之有米广告篇

数字职场

本期挑战题目

绝大多数的鼠标都带有一个滚轮,它可以方便实现某些功能,例如翻页等,你可以编写一个控制鼠标滚轮的小程序吗?

上一期我们介绍了Admob广告,但是由于语言等差异,有的开发者朋友可能觉得它不适合自己的程序,那怎么办呢?别急!目前,中文移动广告厂商也正在崛起,其中最出名的就是有米广告。

在使用有米广告的软件中,一款叫做《蓝牙三国杀》的软件的作者,每月可以获得近万元人民币的广告收入,这个收入水平即使在付费软件中,那也是最高级别的了。是不是心动了?想不想为自己的程序添加中文广告?Let’s go!

为什么要选有米广告

有米广告(Youmi.net)是国内第一家手机应用广告平台,由于贴近开发者,拥有全中文广告和广告展现形式本地化创新,因此受到很多开发者的欢迎。截至9月中旬,有米的广告投放量已经超过2亿次,占领了国内移动广告市场相当大的份额。

有米广告支持哪些平台

有米广告支持Android、J2ME、Symbian、Windows Mobile等主流平台,从支持的平台来看比Admob广告要多,开发者选择的余地比较大。需要注意的是,由于中国移动的限制,目前有米广告还不支持移动的Mobile Market。

有米广告的特点是什么

有米广告是知名度较高的中文广告商,信誉度有保障,它投放的都是中文广告,容易被国内用户接受,比较符合国情。另外,和Admob广告相比,投放有米广告后收款方便,不需要单独办卡,且跟广告商沟通更加容易、更有效率。

有米广告的报酬是多少

有米广告的报酬还是比较可观,通常用户点击一次,开发者可以获得0.2元人民币左右的报酬。此外,有米广告还经常举办活动,在活动期间,报酬会提高,例如最近的活动,报酬就超过了0.2元人民币。

这样添加有米广告

使用有米广告SDK嵌入广告以前,需要注册一个有米账号(注册地址:http://www.youmi.net),注册以后就可以在网站上根据要求输入相关内容,添加成功后即可获得程序ID和程序密钥,并可以根据程序的种类下载对应的SDK。

有米广告将根据该程序ID和程序密钥来统计软件的使用信息,这些使用信息可以在有米网站中查看。下面我们以J2ME SDK为例介绍有米广告SDK的使用(其他平台的SDK使用方法请参看相关文档)。

第一步:将下载的SDK文件(youmiad-j2me.jar)导入到工程中,然后在程序中设置程序ID和程序密钥,建议在midlet的开始处startApp中设置程序ID和程序密钥(注意程序ID和密钥只允许设置一次)。代码如下:

AdManager.setAppID("a14b849356d8a6d"); //设置程序ID

AdManager.setAppSecret("12345678"); //设置密码

//测试模式, 如果不是测试模式的话可以不设置,因为默认不是测试模式

AdManager.setTestModle(true);

//请确保你在调试的时候设置测试模式为true,在发布应用的时候设置为false或者不设置。

第二步:在程序需要启动广告的位置,添加如下代码就可以在程序开始时启动广告线程了。

AdManager.startAdThread();

接着初始化广告条数据,通过声明和创建com.umlife.me.ads.AdView对象达到目的,关键代码如下所示(完整代码下载地址:http://www.icpcw.com/bzsoft):

private AdView adView;

public CMCanvas(){

adView = AdView.getAdViewInstance(this); //初始化对象

adView.setPerfectAbsoluteY(0); //设置广告条y坐标

adView.setHotKeyCode(KEY_STAR); //设置广告条响应按键为*号键

第三步:绘制广告条。在界面的paint的末尾,绘制广告条。代码如下:

protected void paint(Graphics g) {

//添加你自己的绘制代码

//最后绘制adView 本身, 保证显示在最上面

this.adView.paint(g);

}

然后在keyPressed方法中处理按键事件,代码如下:

public void keyPressed(int keyCode){

boolean res = this.adView.handleKeyPressed(keyCode);

if(!res){

//程序自身的按键处理代码

}

}

//触摸屏事件处理和这个类似,可以参看SDK说明文档

这样就完成了将有米SDK嵌入到程序中的步骤了(见图),如果需要设置各种参数,例如广告条的外观等,可以参看SDK的API文档。

41-g11-01.jpg

露一手

很多编程爱好者踊跃参与了上期的挑战题目,给我们发来了精心编写的代码,我们非常感动。在所有挑战者中,来自广东的管游云表现得非常耀眼,他的程序考虑周到、高效实用。经过慎重考虑和比较,我们决定给予广东的管游云现金奖励。关键代码如下所示:

for ( i = 1; i <= n; ++i )//把后面相同的去掉

{

k = 0;

for ( j = i + 1; a[i] >= 0 && j <= n; ++j )

{

if ( a[i] == a[j] )

{

a[j] = -1;

k = 1;