做App半年的经验分享

本期博客我们请来校内应用排名第一的抢床位的开发者丁懿,来和大家一起分享他做应用的酸甜苦辣。以下是他的博文:

在校内做了近半年的App,虽然只做了两个App 抢床位(http://apps.xiaonei.com/sleepingwar)和暗恋秘密(http://apps.xiaonei.com/anlianduiduipeng),但还是想跟大家分享一下这其中的一些经验和感想,在此也非常感谢大家对抢床位的支持,才有抢床位现在的第一。

1. 策划

其实一款App在策划的时候,已经决定其自身增长的潜力,大致看了一下校内受欢迎的App都有以下的一些特点:

1) 容易上手,一进去就知道怎么玩。相比校内,这一点对51上的App可能更重要。如果app不太容易上手,那至少用户引导要好。

2) 用户与用户之间的交互性要强,特别是好友之间的交互要强。好友买卖能把好友买为奴隶,抢车位能通过到好友那里停车赚钱,男女本色使用户相互之间可以评分等等。

3) 有让用户邀请好友的动力,而且这种机制要深深与App本身紧密结合。8月份的时候,测试类的App用户增长迅速,其中有一点就是只有当用户邀请了5个好友以后才能看测试的结果,对大部分用户来说都已经测试了,当然想看看答案,所以会去邀请好友。再如抢床位,用户一开始进去只有5,000元,而一套最便宜的房子也要1万元,买一个好友作为瞌睡虫也需要1万元,邀请一个用户可以获得100元,因为在所有购买东西的地方都做了邀请的引导,所以根据数据显示大约有三分之一的用户会去邀请,而平均每个去邀请的用户会邀请平均60个用户,这样他的钱就是1.1万,刚好够用户开始玩这个游戏。

4) UI尽可能漂亮些,至少得看的过去。

5) 说句实在话,在校内、51上做App,要想做的比较大,可能只能做娱乐类和游戏类的App,工具类和学习类的App要成功可能难度会比较大(校内前10,甚至前20的App几乎都是娱乐游戏类),所以App的类型得好好思考一下。

2.赚钱

估计大家最关心的就是怎么用App赚点钱,以下列举一些赚钱的方法:

1) Google AdSense:这个是最常用的,而且也确实有不少开发者通过AdSense赚到钱。如果引导的好,一个50万PV的App,一天赚个50美金不会有什么问题。但近段时间从一些开发者了解到AdSense越来越不好赚了(相比校内,51上AdSense表现较好一些)。

2) 品牌广告:这个赚钱最多,但一般只有专业的App公司能接的到,个人开发者比较困难。

3) CPA广告联盟,大家可以去看看这个网站,http://www.becomedia.cn/。从一些朋友那里了解到收入不错,而且可以跟App本身的功能结合在一起(个人感觉App广告以后可能会以CPA广告为主流)。

4) 校内豆、51币等虚拟货币。

5) 类似校内的奖励计划,http://app.xiaonei.com/developers/rewardPlan.do (如果没有其他赚钱的方法也可以试试看)。

3. 技术

其实,开发App的门槛并不高,只要懂一些编程便能开发出一个App,但难的是伴随流量增长以后的程序的不断优化和服务器方面的优化。

1) 索引:数据库需要建立好合适的索引。至于针对哪个字段建索引,则可以看看程序中sql语句where后面最多是用哪个字段做检索条件的,或者也可以查看一些这些sql语句检索需要花费的时间和资源,然后最检索使用最频繁的字段做聚集索引,同时可以有选择的对一些其他字段做非聚集索引。索引能大大提高数据库检索的速度,不过别忘了,每隔一段时间需要重新生成一次索引,以保证性能。

2) 数据缓存:从SNS平台上通过API获取数据或者从数据库读取数据都是相对耗资源的,所以可能的话应该尽量减少这两种操作,这个时候对数据的缓存就非常重要了。抢床位里面的做法是从校内读取数据以后存入数据库(比如读取用户信息,这个操作只需要进行一次),第一次访问数据库信息的时候把数据存入缓存,这样以后需要再访问这个数据的时候就可以直接从缓存中读取。不过使用缓存是以内存作为代价的,在内存有限的情况下还是需要谨慎的使用缓存的。

3) 页面缓存:对一些内容变化不大的页面,可以使用页面缓存,或者使用页面局部缓存。

4) 分表:把一个大的数据表分成多个数据表。举个例子,当一个App有上百万个用户的时候,如果把所有的用户资料都存储在一个表中,即使使用了索引,效率可能也不尽理想,这个时候可以根据用户的id,除以一个常数,根据余数确定该存放在哪个新表中,比如 uid=234960294 % 10=4,就把这个用户的相关资料存储在user4这个表中。

5) 带宽:当用户增长到一定程度以后,带宽也会成为一个问题,东部好像1G带宽一年是15万到120万,平均是50万,别说我们穷学生没钱,就算有钱带宽方面也最好能省着点。估计了一下,一天1万UV的app,大概需要3-10M的带宽。至于到底是3还是10就得看优化了。首先优化的当然是图片,压缩图片大小,可能的话尽量使用较小的图片,往往压缩一下图片就能节约一半以上的带宽;其次是压缩一些css、js文件,嵌在页面里面的css、js最好能抽取出来放在一个独立的js、css文件里面,这样用户只需要下载一次;还有如果是asp.net,可以关闭不需要的viewstate,这一点也可以让页面的大小减小近一半。这里推荐一篇文章,大型网站架构演变和知识体系,http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html

4. 其他

服务器问题:其实对很多开发者来说,最头痛的就是服务器问题,流量不断增长,需要换更好的服务器,但App暂时却没有收入进来,而且很多开发者本身又是学生(比如我自己)也没有足够的钱购买服务器。其实也没有必要一开始就购买非常好的服务器,如果每天的用户少于2,000,可以考虑先使用虚拟空间,一年也就几百,甚至先把几个月。当用户再增长的时候可以使用vm或者vps虚拟服务器,vm相比vps要便宜的多,而且可以通过使用虚拟内存,但稳定性不及vps,所以如果钱比较紧张,可以花几百先买vm用个几个月,一般100-200元左右一个月的vm配置可以支撑5000左右的活跃。如果用户还是持续增长,这个使用App应该也能开始赚些小钱了,可以升级vps或者vm的配置。如果活跃上万的话,可能就比较头痛了,这个时候可能只能使用独立服务器了,App的开发者可能就得考虑是否值得去购买或租用了。有一个感受,就是当钱不够的时候,不要一次性租用的服务器,因为App用户增长很快,如果受欢迎,很有可能刚买,服务器就不能用了(从7月开发App到11月,我们总共换了4次服务器)

作者简介:丁懿,抢床位和暗恋秘密开发者,浙江工业大学经贸专业大二,http://xiaonei.com/profile.do?id=234960294,有什么问题,欢迎大家多多和我交流,谢谢!

编者按: AppLeap非常欢迎开发者和任何关注应用开发的人士投稿,欢迎给我们发email

 

Leave a comment