一、如何学习Android
android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具。对于过多的具体知识详细介绍我这里不展开,我只说我个人的学习方法和本人以为的好的步骤。
1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解。
2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用。(这里只要先了解个大概就好)
3.activity、intent:了解activity是什么及其生命周期,intent是什么东西及它是基于消息机制。
4.掌握基础:这阶段你可以反复的修改及单步调试一个简单的程序,并学会logcat、单步调试、最基本的View、最简单的布局、进而对service、intentFilter等的熟悉
(以上4步骤推荐看深入浅出Google_Android.pdf这个电子书就够了)
5.接下来就得动手了:开始做应用吧,不要问写什么应用,写你自己想的,你认为难度不至于太难的应用(别告诉我你现在就要做3D游戏,要做小鸟之类的), 这个时期你基本不要教学的视频和android的书籍,最好的帮手有3个SDK目录下的doc($ANDROID_HOME$\docs \reference\index.html)、百度及google、破解工具(apktool、dex2jar、jd-gui,可以提取目标apk的资 源及反编译源代码,这里反编译不是为了干坏事,而是从别人那里学习技术,你并不能完全的得到一个好的破解代码,但你可以通过代码片段来获取信息学习或者进 行搜索从而学到各种技术),这个阶段你就要多看别人的代码多动手了,你要开始熟悉和使用android的类库。循环这步,直到你不在做android吧。
上面第5个步骤到一定阶段之后,你就可以考虑用你的程序来赚钱了。先来介绍下android下的一些商业模式:
1.免费应用+广告
这是目前国内个人开发者最普遍的赚钱方式,你可以利用嵌入国内和国外的几十家移动广告平台的sdk、并在各渠道发布你的应用来获取展示广告,从而利用用户 对广告的点击而获取收入。需要注意的是,身为开发者你最好不要以欺骗、诱导、作弊等方式来获得用户点击,别破坏市场环境(比如现在很多应用所有功能都要求 用户下载广告应用获取积分而得到使用,特别是一些色情搭边的应用)。
2.收费应用
国内移动MM、机锋网的金币、支付宝等各种渠道支付使用费,目前来看这种模式很难获取可观的收入。
3.应用内容的商业合作
这种模式需要你的应用有影响力,能让商家为你买单。
4.其他
希望高手补充。
鉴于国内现款对我使用过的一些第三方平台做个简单介绍: 第三方广告聚合平台及统计平台介绍 这是本人半年来对android及个人开发这块的所有总结,希望能够对大家起到帮助。从各方面开 来,android无疑是进入空前繁荣的时代,如果你想靠业余时间来赚点钱,我觉得这无疑是一种很好的方式,比起接外包很多时候会好很多,至少这个是持续 性收入、并且比外包容易激励人、也不需要定性的对外包的固定功能掌握对应的技术,可以有什么技术出什么应用,你甚至可以用一些开源的电子书或其它代码加入 实用的生活内容并做一个良好的包装后即可从中获利,当然idea永远很重要,而实现idea则更是重中之重,还有你不要担心外包的诚信、需求变更等问题, 我的应用我做主。 还有忘记了一个比较重要的内容,如果你对游戏开发感兴趣的话,你不妨去访问下微云的官方网站,它提供了一个游 戏开发引擎,可以有效的简化游戏的开发,还有微云也提供了一个广告平台,有广告条和积分墙2种模式,还有个游戏平台。这方面本人没有进行过研究,所以只能 提供一个推荐,个人未来也有出游戏的打算。顺便再唠一句,无论是应用还是游戏,一个美观简洁的UI都是非常重要的,所以最好还是能找个美工来跟你合作,那 样能让你的程序更显专业,能吸引更多的用户下载。还有关于idea,其实不要说你想不到,花你睡前的几分钟去想想,总能让你抓住一些新奇的东西的,还有告 诉大家一个方法就是多去市场上看看别人的应用,很多时候别人的应用的idea能让你有收获,我就有睡前翻一翻市场应用的习惯,有时候看到别人的东西会想 到,恩,我这个思路改进下可以成为一个新的idea。我目前在开发中的几个应用有些就是源于这种方式。扯的多了,微云地址是:http://www.wiyun.com/
|
先介绍一下我准备好的东西:
应用:
《快拍分享》,一个简单的拍照程序,并可以将应用拍好的照片发到自己的微博上的一个应用,支持新浪微博、人人网和腾讯微博。下面是该应用的主要的界面
结合该应用的实际,我打算在这里加入3种模式的广告,即我前面文章里说到的广告条、广告墙和推送广告。因为sns分享是由友盟SDK来集成的,所以最后一个界面加不了广告。
我打算在第一个图拍照按钮下边的设置按钮加入弹出菜单(更多应用和关于2个选项),在更多应用菜单中展示广告墙,在第二个图界面的上方展示一个广告条,推 送广告因为不占用广告界面,所以不用考虑放在哪里。(当然最后发布的时候我会根据不同的发布市场来选择其中的1-2种广告形式,这里只为演示用,太多的广 告会让用户反感)
广告平台:
广告墙和推送广告我使用万普,广告条我使用芒果的聚合,暂时打算用多盟、有米这2个平台。(之所以用多个平台是可以根据情况做实时的在线比例分配,这样可以有更多的选择余地,当然也不是越多越好,加的平台越多应用就越臃肿,你的收入当然就分散了,而每个平台都至少要求100元才能提款的。)
首先我们来添加广告墙和推送广告。
1.登录万普平台,进入开发者页面,点击添加应用,输入应用名称,点保存,之后打开应用详情页面,记下WAPS_ID的值备第2步骤使用。后面的信息也尽量完善起来,
文件程序等最后完成广告集成并测试后再上传即可。
2.在我的项目的AndroidManifest.xml文件下添加广告需要的权限(具体要哪些权限参加广告SDK的帮助和实际情况定):
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />在Application项加入:
<meta-data android:name="WAPS_ID" android:value="2f9dd55307ede480a80ba0783be835d" />
<meta-data android:name="WAPS_PID" android:value="WAPS" />
<activity android:name="com.waps.OffersWebView"
android:configChanges="keyboardHidden|orientation" />第一行android:value对应的字符串要替换成步骤1从万普添加应用后得到的ID,千万不要填错哦。
第二行是万普进行渠道设置选项,最好按其开发者手册最后对应的表格来填写
第三行是展示广告墙所使用的activity,不添加会导致展示不了广告墙
3.Eclipse->Project->Properties->Java Build Path->Libraries->Add External JARs->选择我们前面下载解压出来的AppOffer_1.5.3.jar,来完成添加万普SDK的Jar包。
在对应更多应用菜单的处理事件里加入AppConnect.getInstance(this).showOffers(this);来打开广告墙。
运行应用,点击更多应用,顺利打开推荐列表如图:
4.打开项目的入口Activity,在onCreate事件里写入
AppConnect.getInstance(this);
AppConnect.getInstance(this).getPushAd(); //自动推送使用,如果你在万普web端配置自动推送则可以注释次行
在退出应用的地方(我是在入口Activity的onDestroy事件)写入
AppConnect.getInstance(this).finalize();
运行推送效果如下图:
点击通知(推送广告) 打开如图
这样我们就把万普的广告墙和推送模式的广告集成好了,将应用使用正式签名(方法网上搜很多,这里不介绍)编译后将apk上传到万普审核,同时就可以发布到市场渠道去让用户下载了。(关于市场发布下篇里再介绍)
下面介绍使用芒果聚合来添加广告条:
1.登录芒果平台,添加新应用,打*的必须填写,点下一步来进入广告平台选择页面。
2.到你要添加的广告平台添加新应用来获取对应的ID,并把这些ID设置到1步骤芒果平台对应的ID设置中(点对应平台后面的“未设置”)。
3.点击芒果页面上对应平台后面的按钮来打开对应平台的状态,并点击开启测试,以便接下来测试是否能正常获取测试广告。同时将2个平台的比例均配成50%。
4.点击下一步,应用就添加完成了。会得到一个芒果ID备用,下载芒果广告的SDK。(因为该SDK里已经包含了其所支持的所有平台的jar包,所以不需 要单独再去下载其他广告平台的包了,而且聚合平台不一定及时更新所有平台的包,可能会对广告平台的更新没有及时更改其SDK,所以也必须从这里下)
5.解压芒果上下载下来的SDK,并将其libs下对应平台的包加入工程(我这里加入AdsMOGO-SDK-Android.jar[芒果]、youmi-android.jar[有米]、domob_android_sdk.jar[多盟])。
6.修改AndroidManifest.xml文件,添加必要的权限,以及到芒果SDK的开发帮助文档里找到对应平台要求添加的activity。我这里加入:
<!-- 多盟integration -->
<activity android:name="cn.domob.android.ads.DomobActivity"
android:theme="@android:style/Theme.Translucent" />
<!-- 有米integration -->
<activity android:name="net.youmi.android.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:name="net.youmi.android.spotad.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
7.加入芒果Key的meta-data ,将值替换你在芒果平台最后得到的KEY值,我这边如下:
<meta-data android:value="25fff80a3966465e888e0db9735fef11" android:name="ADMOGO_KEY" />
8.在要展示的地方添加代码如下:
AdMogoLayout adview = new AdMogoLayout(this,"25fff80a3966465e888e0db9735fef11"); //ID跟xml配置的相同
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
// 设置广告出现的位置(悬浮于顶部)
params.topMargin = 0;
params.gravity = Gravity.TOP|Gravity.CENTER_HORIZONTAL;
addContentView(adview, params);
这段代码作用是新建一个芒果广告的View,并将它加到activity的最顶端。
9.OK,代码都添加完成,运行测试,广告正常展示如下:
自己点击测试下,是否能正常打开广告页面。到芒果web页面调整广告平台的分配比例,分别测试所有你的平台是否均成功展示。如果有失败,请核对芒果上配置的ID或密码是否相同(包括前后不能有空格),任然有问题的话联系平台技术人员帮你协助解决。
10.最后一步,将芒果web页面上的比例平均分配,关闭测试模式。然后将应用签名打包,上传到各个广告平台审核。(平均分配是为了审核人员保证有机会能看到你的应用上有展示他们平台的广告),审核均通过后就可以发布到各个市场上来开始收益旅程了。